繁体   English   中英

针对ViewState和HTML控件的菜鸟问题

[英]Rookie questions for ViewState and Html Control

我刚刚开始学习ASP.Net。 我试图弄清楚页面处理的原理。 我收到有关ViewState和HTML控件的一些问题。

<input type="text" id="FirstName" />
<br />
<input type="text" id="LastName" runat="server" />

这是我的HTML。 我填写了两个文本框,然后单击提交。 在服务器上运行的控件保留该值,而另一个则没有。

我检查了HtmlInputText类,发现它实现了IPostBackDataHandler接口,因此它不会受到ViewState的影响吗? (我是通过某人的博客知道的,对吗?)

我关于ViewState的想法是保留每个控件的更改消息的想法。 页面中的控件将根据默认设置和ViewState进行初始化。

但是我仍然无法弄清楚:ViewState是否保留更改中的“ FirstName”消息? Web控件就像服务器上运行的HTML控件一样,它们都实现了IPostBackDataHandler接口,所以ViewState没用吗?

请帮助我了解ViewState或其他内容的使用...(我搞砸了...)

ViewPage从Page类继承。 因此,它是一个“ WebForm”,并且具有代码隐藏功能,因此您基本上可以直接请求该页面。 如果您使用的控件将执行正常的回发,则将发生回发,在这种情况下,您已经添加了WebForm行为,这不是我们应该做的(将它们混合),则应确保代替执行控制器。 最终版本中将有一些控件,而不是执行“回发”,请确保将执行Action方法。 您无法从Controller访问ViewState,因此,它将不在控制器级别。 如果您有一个使用ViewState的控件,然后按“按钮”或“ Link”(这将确保执行Action方法),则不会发布ViewState,在这种情况下,当控件将从ViewState获取数据时,空的。 因此,如果控件需要ViewState,则它们将无法工作。

希望对您有所帮助:< 链接 >

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM