发布表单时,ASP.NET如何知道以前的输入

时间:2010-09-07 02:46:55

标签: c# asp.net-mvc-2

当用户在我的网站上注册并且他们输入了错误的信息时,它会将它们重定向回同一页面以纠正登录页面上的任何错误。重定向后,他们之前输入的用户名和其他信息位于表单字段中。这是为什么 - 不是它是坏的或任何东西,但我想在可能的情况下修改这种行为。这是我正在使用的代码

<tr>
     <td class="style1">Username</td>
          <td>
               <%= Html.TextBox("username") %>&nbsp;&nbsp;
          </td>
</tr>

2 个答案:

答案 0 :(得分:2)

回发数据保存在View.ModelState中。 Html.TextBox帮助器方法在渲染表单字段之前检查它。我不确定你的情况是否正是如此,但请查看this similar question

答案 1 :(得分:0)

因为在asp.net中,控件的值以ViewState对象的形式保存。每次当你进行回发而不是重定向到另一个页面时,控件的值就是从这个ViewState对象设置的。框架做到了。   但是如果您不想保存数据,可以使用页面的EnableViewState = false属性。

<%@ Page enableViewState="false" %> 

它不会使用viewstate来保存数据。控制的价值将是明确的。