javascript - 使用 Html.TexBoxFor() 网页重新加载显示以前的输入文本而不是服务器的更新值

标签 javascript jquery razor html.textboxfor

鉴于此 .cshtml 摘录:

<div class="controls controls-row">  
    @Html.TextBoxFor(x => x.CountryName, new  { placeholder = "Country", @class = "input-large", customerui = "Country" })                   
    @Html.DisplayTextFor(x => x.CountryFootnote)          
</div>

保存对此页面和此文本框的更改后,服务器会正​​确更新“CountryName”和“CountryFootnote”。每次保存后结果 Pane 中的“Model.CountryName”和“Model.CountryFootnote”都是正确的。

但是,结果还包含先前输入的文本,该文本仍然显示在文本框中? 参见下图。

result after form save

<小时/>

shows that the previous input text prevails

<小时/>

[SAVE]按钮的编码如下:

Save Button Workings

最佳答案

必须更新模型的“ActionResult Edit(CustomerModel Model)”以包含此调用 ModelState.Remove("CountryName")。
请参阅how-to-update-the-textbox-value答案1。

[HttpPost]
public ActionResult Edit(CustomerModel model)
{
    if (ModelState.IsValid)
    {
       ...
       ...    
       // must do this so that the 'TexBoxFor()' uses the updated Model.CountryName and not the text entered
       ModelState.Remove("CountryName");        
    }

    return PartialView("CustomerEditControl", model);
}

关于javascript - 使用 Html.TexBoxFor() 网页重新加载显示以前的输入文本而不是服务器的更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26248564/

相关文章:

javascript - 简单的演示项目 Webpack KO(带有组件) javascript

javascript - 当只有数字输入时,我需要准备查询吗?

javascript - 如何在 AngularJS 中保存页面

javascript - 想要使用某些功能更新 data.js (无数据库)

javascript - 如何在 Laravel 页面上显示日期选择器?

c# - 如何在导航选项卡中构造和构建树层次结构,同时将我的业务逻辑隐藏在 View 之外

javascript - 使用 Facebook 的 javascript api 发布多部分/表单数据编码图像

javascript - Html 上的图像大小调整问题

c# - 如何在 Razor View 中动态地将数据添加到 View 模型中的 List 属性?

c# - 如何在 MVC ASP .net C# 的 .cshtml 文件中使用嵌套 foreach 循环