升级至ASP.net 4容易引发错误的几点改变

 我来答
百度网友ded4135
高粉答主

2018-09-15 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.7万
采纳率:87%
帮助的人:1.2亿
展开全部
控件生成的代码的变化:
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浏览器
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式