C# ViewState和Html控件的新手问题

C# ViewState和Html控件的新手问题,c#,html,asp.net,C#,Html,Asp.net,我刚刚开始学习ASP.Net。我试图找出页面处理的原理。我得到了一些关于ViewState和Html控件的问题 <input type="text" id="FirstName" /> <br /> <input type="text" id="LastName" runat="server" /> 这是我的HTML。我填写了两个文本框,然后单击提交。在服务器上运行的控件保留了该值,而另一个没有 我检查了类HtmlInputText,发现它实现了接口IPos

我刚刚开始学习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行为,这不是我们应该做的,将两者混合使用,您应该确保执行控制器的操作方法。最终版本中会有一些控件,它们将确保执行操作方法,而不是执行回发。您无法从控制器访问ViewState,因此它不会处于控制器级别。如果您有一个使用ViewState的控件,并按下按钮或链接以确保执行操作方法,则ViewState不会被发布,在这种情况下,当控件从ViewState获取数据时,ViewState为空。因此,如果控件需要ViewState,它们将无法工作

希望这有帮助
来源:

对不起,但我想我的问题不是关于这个,我想知道ViewState是如何工作的以及IPostBackDataHandler的语句,对吗?谢谢