因为刚刚接触C#语言不久,于是我把控制台给扔了,因为我讨厌控制台!
而事实上我只对WinForm技术感兴趣,但事实上到现在我发现ASP.Net C#的Web技术是日显重要起来!
于是开始接触,刚刚起步于所知,尤其是一些最简单的东西,到网上搜索了很久,不是太乱就是说不清楚!
举个例子来说,就说Session好了,不知道网上的那些家伙到底在讲什么?
或许是我太笨吧!真是无法理解他们的东东!
于是我还是决定自己研究一下,今天下午花了一点时间,受到成果如下:
(1)Load.aspx.cs文件中:
public class MYuser
{
public MYuser()
{
}
private string name;
public string Name
{
get
& ......
因为刚刚接触C#语言不久,于是我把控制台给扔了,因为我讨厌控制台!
而事实上我只对WinForm技术感兴趣,但事实上到现在我发现ASP.Net C#的Web技术是日显重要起来!
于是开始接触,刚刚起步于所知,尤其是一些最简单的东西,到网上搜索了很久,不是太乱就是说不清楚!
举个例子来说,就说Session好了,不知道网上的那些家伙到底在讲什么?
或许是我太笨吧!真是无法理解他们的东东!
于是我还是决定自己研究一下,今天下午花了一点时间,受到成果如下:
(1)Load.aspx.cs文件中:
public class MYuser
{
public MYuser()
{
}
private string name;
public string Name
{
get
& ......
模板化的数据绑定控件为我们在页面上显示数据提供了根本的灵活性。你可能还记得ASP.NET v1.x中的几个模板化控件(例如DataList和Repeater控件)。ASP.NET 2.0仍然支持这些控件,但在模板中绑定数据的语法已经被简化和改善了。本文将讨论在数据绑定控件模板中绑定数据的多种方法。
数据绑定表达式
ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname)。Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。由于这个原因,Eval只能在数据绑定控件的模板中使用,而不能用于Page(页面)层。当然,ASP.NET 2.0页面中仍然支持DataBinder.Eval,你可以在不支持简化的Eval语法的环境中使用它。
下面的例子演示了如何使用新的简化的Eval数据绑定语法绑定到DataList数据项模板(ItemTemplate)中的Image、Label和HyperLink控件。
<asp:DataList ID="DataList1" RepeatColumns="5" Width="600" runat="serv ......
认识ASP.NET配置文件Web.config
一、认识Web.config文件
Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。
在运行时对Web.config文件的修改不需要重启服务就可以生效(注:<processModel> 节例外)。当然Web.config文件是可以扩展的。你可以自定义新配置参数并编写配置节处理程序以对它们进行处理。
二、web.config配置文件(默认的配置设置)以下所有的代码都应该位于
<configuration> <system.web>
和
</system.web> </configuration>
之间,出于学习的目的下面的示例都省略了这段XML标记
1、<authentication> 节
作用:配置 ASP.NET 身份验证支持(为Windows、For ......
本文将探讨asp.net下实现文件上穿进度条的方法。
一般情况下,要实现上传进度条首先要实现上传文件分块读取,而默认情况下,iis将直接把上传的文件一次读入到内存中,所以本处的难点在于拦截iis的文件上传过程,转而自己的实现方式。所以,我们可以实现一个IHttpModule来处理上传过程。具体的过程是Application_BeginRequest下得到当前的HttpWorkRequest,然后通过这个对象来得到当前请求的类型,长度。具体方法请查看类的实现代码(该类来自于互联网)。
由于在类中已经有比较完整的注释,所以我只介绍一个流程,没有涉及到具体的方法。
我们可以知道,如果我们取得了总的长度,那我们就可以设置一个固定的长度(比如1024字节),然后设置一个循环来每次读取这些数据,这样,我们就可以得到当前总共读取的内容长度。那页面上如何得到当前的进度呢?利用appliaction对象来存储数据,这样,前台的页面也可以使用application来得到当前的进度。因为application要使用一个键来确定是哪次的数据,常用的方法是,ihttpmodule中通过request来取得这次的键值,而上传文件也同样拥有这样一个键值。因此在upload.aspx中的page_load中需要:
this.UploadID = this.Request["UploadID ......
IIS 7
IIS7自身有对MVC的支持,部署方法同其他web application基本相同,需要注意的是,mvc 2.0 application在Handler Mappings里面会有MvcHttpHandler,如图:
我使用的是.net 4.0,我看了其他.net 2.0 的web appliation下的Handler Mappings都没有这个handler maping。
注意:.net 3.5以下(包括)的web application pool都是.net 2.0版本的,当然可能还包括.net 1.0或.net 1.1版本。但在.net 4.0下,提供了asp.net 4.0,因此使用.net 4.0的web application其application pool很有可能需要.net 4.0环境。
你可以通过查看应用程序池来查看运行的是.net 2.0还是.net 4.0。
在部署mvc 2.0 application时,如果你使用的是.net 4.0开发的,其所在application pool必须是.net 4.0的,并且managed pipeline mode为integrated。
IIS 6部署
IIS6的部署会比IIS7麻烦一些,我以我的实际部署过程来讲吧,当然刚开始也出现404或服务器错误等问题,不过好在最后都解决了,下面是正确的部署方式。
我是在.net 4.0环境下,使用VS 2010开发的,需要部署到window server 2003上(IIS6)。原系统装的是.net 3.5的,因此从我的机器上VS的安装包目录VS2010Ultimate_RC1\WCU\dotNetFramewor ......
本文将探讨asp.net下实现文件上穿进度条的方法。
一般情况下,要实现上传进度条首先要实现上传文件分块读取,而默认情况下,iis将直接把上传的文件一次读入到内存中,所以本处的难点在于拦截iis的文件上传过程,转而自己的实现方式。所以,我们可以实现一个IHttpModule来处理上传过程。具体的过程是Application_BeginRequest下得到当前的HttpWorkRequest,然后通过这个对象来得到当前请求的类型,长度。具体方法请查看类的实现代码(该类来自于互联网)。
由于在类中已经有比较完整的注释,所以我只介绍一个流程,没有涉及到具体的方法。
我们可以知道,如果我们取得了总的长度,那我们就可以设置一个固定的长度(比如1024字节),然后设置一个循环来每次读取这些数据,这样,我们就可以得到当前总共读取的内容长度。那页面上如何得到当前的进度呢?利用appliaction对象来存储数据,这样,前台的页面也可以使用application来得到当前的进度。因为application要使用一个键来确定是哪次的数据,常用的方法是,ihttpmodule中通过request来取得这次的键值,而上传文件也同样拥有这样一个键值。因此在upload.aspx中的page_load中需要:
this.UploadID = this.Request["UploadID ......