如何停止ASP.NET MVC ajax从表单字段重置的POST响应?

时间:2009-12-30 18:43:01

标签: asp.net-mvc ajax forms asp.net-ajax

我正在使用AJAX表单发送一些表单字段到服务器,数据将在数据库中更新,并在过程中进行按摩,因此数据可能会在服务器端发生一些变化。此控制器操作的响应是部分更新表单字段的HTML,以便这些字段的值包括新的按摩值。

麻烦的是,显然有些MVC .js必须在返回的部分HTML上执行,才能将文本字段的值更改回原来发布的值,以便不会显示按摩值。

我可以看到这在某些情况下如何有用,但它正在打败我的情景。我该如何抑制这种行为?

修改 我发现如果在我的部分中我替换了这个:

<%= Html.TextBox("FirstName", Model.FirstName) %>

用这个:

<input name="FirstName" value="<%= Html.Encode(Model.FirstName) %>" />

表单字段中的值按照我的预期更新。所以似乎Html.TextBox有一些神奇的副作用,我还不明白。

1 个答案:

答案 0 :(得分:1)

我认为没有任何随机的javascript被执行。 MVC不依赖于javascript,当然也不会将它注入你的页面。

更有可能的问题是您的ModelStateDictionary持有原始值。仅在表单post中存在但未应用于模型的值不会显示。 See this thread for some helpful pointers