升级至ASP.net 4容易引发错误的几点改变
1个回答
展开全部
控件生成的代码的变化:
Image 和 ImageButton控件 控件不再添加 border="0" 属性。
BaseValidator 类和验证控件不再默认红色文本。
HtmlForm 控件不呈现 name 属性。
Table 控件不再呈现 border="0" 属性。
不支持用户输入的控件(例如Label),如果Enabled属性设置为false ,将不再生成disabled="disabled"属性。
ClientIDMode变化
ClientIDMode 在ASP.NET 4允许您设定如何生成前台编号 。ASP.NET早期版本,默认的行为等同于 在asp.net 4 中将ClientIDMode设置为AutoID。但是,asp.net 4中默认设置是Predictable。
如果您使用Visual Studio 2010升级您从ASP.NET 2.0或ASP.NET 3.5应用程序,该工具会自动添加一个设置为 Web.config中 文件中保留了早期版本的行为。NET框架。但是,如果您通过更改IIS来实现升级,ASP.NET使用默认的新模式。要禁用新的客户ID模式,要在以下设置 Web.config中 文件:
<pages ClientIDMode="AutoID" / >
HtmlEncode和UrlEncode方法对单引号编码的改变
在ASP.NET 4中,HttpUtility 和 HttpServerUtility类中的HtmlEncode 和 UrlEncode方法对单引号(')进行了如下改变:
HtmlEncode 编码为' .
UrlEncode 编码为 %27.
ASP.NET页面(.aspx)的页面分析更严格
ASP.NET 页面(.aspx 文件)和用户控件(.ascx 文件)在ASP.NET 4更严格,将拒绝多种无效的标记。例如,下面的两个片段在ASP.NET的早期版本中没问题,但在ASP.NET 4中分析器报错。
<asp:HiddenField runat="server" ID="SomeControl" Value="sampleValue"; />
请注意使其 HiddenField 标记失效的分号。
<asp:LinkButton runat="server" ID="SomeControl" onclick="someControlClicked"
style="display:inline; CssClass="searchLink" />
注意 CssClass 前的引号的没有闭合。
浏览器定义文件的更新
旧的浏览器将不再支持,增加了google浏览器
Image 和 ImageButton控件 控件不再添加 border="0" 属性。
BaseValidator 类和验证控件不再默认红色文本。
HtmlForm 控件不呈现 name 属性。
Table 控件不再呈现 border="0" 属性。
不支持用户输入的控件(例如Label),如果Enabled属性设置为false ,将不再生成disabled="disabled"属性。
ClientIDMode变化
ClientIDMode 在ASP.NET 4允许您设定如何生成前台编号 。ASP.NET早期版本,默认的行为等同于 在asp.net 4 中将ClientIDMode设置为AutoID。但是,asp.net 4中默认设置是Predictable。
如果您使用Visual Studio 2010升级您从ASP.NET 2.0或ASP.NET 3.5应用程序,该工具会自动添加一个设置为 Web.config中 文件中保留了早期版本的行为。NET框架。但是,如果您通过更改IIS来实现升级,ASP.NET使用默认的新模式。要禁用新的客户ID模式,要在以下设置 Web.config中 文件:
<pages ClientIDMode="AutoID" / >
HtmlEncode和UrlEncode方法对单引号编码的改变
在ASP.NET 4中,HttpUtility 和 HttpServerUtility类中的HtmlEncode 和 UrlEncode方法对单引号(')进行了如下改变:
HtmlEncode 编码为' .
UrlEncode 编码为 %27.
ASP.NET页面(.aspx)的页面分析更严格
ASP.NET 页面(.aspx 文件)和用户控件(.ascx 文件)在ASP.NET 4更严格,将拒绝多种无效的标记。例如,下面的两个片段在ASP.NET的早期版本中没问题,但在ASP.NET 4中分析器报错。
<asp:HiddenField runat="server" ID="SomeControl" Value="sampleValue"; />
请注意使其 HiddenField 标记失效的分号。
<asp:LinkButton runat="server" ID="SomeControl" onclick="someControlClicked"
style="display:inline; CssClass="searchLink" />
注意 CssClass 前的引号的没有闭合。
浏览器定义文件的更新
旧的浏览器将不再支持,增加了google浏览器
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询