代码之家  ›  专栏  ›  技术社区  ›  Andrew Arnott Rick Strahl

如何阻止ASP.NET MVC ajax表单POST响应重置其表单字段?

  •  0
  • Andrew Arnott Rick Strahl  · 技术社区  · 14 年前

    我使用AJAX表单post将一些表单字段发送到服务器,在服务器上,数据将在数据库中更新,并在过程中被篡改,因此服务器端的数据可能会发生一些变化。此控制器操作的响应是一个部分,它更新表单字段的HTML,以便这些字段的值包括新的经过处理的值。

    问题是,显然某些MVC.js必须在返回的部分的HTML上执行,以将文本字段的值更改回其最初发布的值,从而使经过处理的值永远不会显示。

    我可以看出这在某些场景中是多么有用,但它正在挫败我的场景。如何抑制这种行为?

    编辑 我发现如果在我的部分中,我替换了这个:

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

    为此:

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

    表单字段中的值会像我期望的那样更新。因此,似乎有一些神奇的副作用 Html.TextBox 我还不明白。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community Egal    7 年前

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

    See this thread for some helpful pointers