我正在使用AJAX表单发送一些表单字段到服务器,数据将在数据库中更新,并在过程中进行按摩,因此数据可能会在服务器端发生一些变化。此控制器操作的响应是部分更新表单字段的HTML,以便这些字段的值包括新的按摩值。
麻烦的是,显然有些MVC .js必须在返回的部分HTML上执行,才能将文本字段的值更改回原来发布的值,以便不会显示按摩值。
我可以看到这在某些情况下如何有用,但它正在打败我的情景。我该如何抑制这种行为?
修改 我发现如果在我的部分中我替换了这个:
<%= Html.TextBox("FirstName", Model.FirstName) %>
用这个:
<input name="FirstName" value="<%= Html.Encode(Model.FirstName) %>" />
表单字段中的值按照我的预期更新。所以似乎Html.TextBox
有一些神奇的副作用,我还不明白。
答案 0 :(得分:1)
我认为没有任何随机的javascript被执行。 MVC不依赖于javascript,当然也不会将它注入你的页面。
更有可能的问题是您的ModelStateDictionary持有原始值。仅在表单post中存在但未应用于模型的值不会显示。 See this thread for some helpful pointers