加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MVC POST没有返回修改后的视图模型

发布时间:2020-12-16 09:57:13 所属栏目:asp.Net 来源:网络整理
导读:我有一个带有GET和POST的标准编辑方案,该表单有一个Save按钮和一个Lookup按钮,允许用户查找一个邮政编码,填写地址并在表单字段中返回. “查找”按钮会回发到“编辑”控制器方法. 以下不是真正的代码,但演示了我的问题…… [AcceptVerbs(HttpVerbs.Post)]publ
我有一个带有GET和POST的标准编辑方案,该表单有一个Save按钮和一个Lookup按钮,允许用户查找一个邮政编码,填写地址并在表单字段中返回. “查找”按钮会回发到“编辑”控制器方法.

以下不是真正的代码,但演示了我的问题……

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int CustomerId,string LookupButton)
{
    Customer customer = new Customer();
    UpdateModel(customer);
    //customer.County = "Hello world!";
    return View(customer);

    ...
}

此代码按预期执行,只返回现有的表单数据,但是当我取消注释手动更改County字段的行时,这些更改不会显示在表单上.这引起了我的兴趣,因为在形式上

<%= ViewData.Eval("County") %>

将返回“Hello world!”但

<%= Html.TextBox("County") %>

仍然保留旧的价值!

<input id="County" name="County" type="text" value="" />

客户是EF4课程.

任何帮助非常感谢.

解决方法

这是因为Html.TextBox首先查找已发布的请求值,然后查看您在控制器中更新的模型.在已发布的请求值中,它会找到旧值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读