仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 668|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET网页编程之asp.net 2.0里当readonly赶上enablevie...

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在经过全球个人PC市场占有90%的微软对asp.net不断优化与整合后,asp.net与微软自身平台的动用上更加的高效,加上asp.net在应用上非常容易上手,相信asp.net仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。ado|asp.net  偶尔在一个老外的blog里看到有如许的形貌,当textbox控件里被设置为readonly时,并且页面的enableviewsate设置为false时,提交后,textbox的值会丧失,这只产生在asp.net2.0中,在asp.net1.0/1.1中不会呈现如许的情形,代码以下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"EnableViewState="false"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<scriptrunat="server">
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!this.IsPostBack)
{
this.Textbox1.Text="readonlytext";
}
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
this.lblMessage.Text=this.Textbox1.Text;
}
</script>
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>UntitledPage</title>
</head>
<body>
<formrunat="server"id="Form1">
<asp:textboxID="Textbox1"runat="server"ReadOnly="true"ForeColor="silver"></asp:textbox>
<asp:textboxID="Textbox2"runat="server"ReadOnly="true">SomeText</asp:textbox>
<asp:ButtonID="Button1"runat="server"Text="Button"/><br/>
<asp:LabelID="lblMessage"runat="server"Text="Label"></asp:Label>
</form>
</body>
</html>
  在.net2.0下运转,切实其实会丧失了文本框的值。最初,找到了MSDN的剖析和微软的BUG反应中央,实在这不是BUG,是.net2.0下为了平安的一个小改动,详细摘录以下,人人就分明了:
微软的反应为:
Aftercarefulanalysis,theexplanationfortheobservedbehaviouristhat:
WithadesignchangeinASP.NETbasedonusersecurityconcern,theinputforareadonlytextboxissavedinviewstate,whichdoesnthappenifviewstateisdisabled.Toworkaroundthis,apagedevelopercanaddthereadonlyattributetotheTextBox.Attributescollection,whichcanthenbeusedtoaccessthevalueofthetextbox.
Wehopethisclarifies.Thankyou.
WebServer&Tools
MSDN2005的剖析:
TheTextvalueofaTextBoxcontrolwiththeReadOnlypropertysettotrueissenttotheserverwhenapostbackoccurs,buttheserverdoesnoprocessingforaread-onlytextbox.ThispreventsamalicioususerfromchangingaTextvaluethatisread-only.ThevalueoftheTextpropertyispreservedintheviewstatebetweenpostbacksunlessmodifiedbyserver-sidecode.
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。
再现理想 该用户已被删除
沙发
发表于 2015-1-19 16:43:47 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。
柔情似水 该用户已被删除
板凳
发表于 2015-1-28 08:47:52 | 只看该作者
这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
分手快乐 该用户已被删除
地板
发表于 2015-2-5 20:15:53 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
深爱那片海 该用户已被删除
5#
发表于 2015-2-13 12:03:27 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
老尸 该用户已被删除
6#
发表于 2015-3-3 21:12:30 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
再见西城 该用户已被删除
7#
发表于 2015-3-11 13:48:48 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
兰色精灵 该用户已被删除
8#
发表于 2015-3-18 18:51:29 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
海妖 该用户已被删除
9#
 楼主| 发表于 2015-3-26 13:33:36 | 只看该作者
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-5 23:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表