Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在回发时更改数据后,如何用新值填充HTML内容?_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc Viewmodel - Fatal编程技术网

Asp.net mvc 在回发时更改数据后,如何用新值填充HTML内容?

Asp.net mvc 在回发时更改数据后,如何用新值填充HTML内容?,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-viewmodel,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Viewmodel,我有MVC3剃须刀应用程序。一旦我提交表单并在Action中更改ViewModel内容,我就看不到填充的新值 在MVC2中有一个关于这一点的主题,在MVC3 您能告诉我们是否有这样做的选项,或者在不使用JavaScript的情况下使用回发更新UI的更好方法(解决方法)是什么吗 行动: [HttpPost] public ActionResult Index(MyViewModel model) { model.Value = "new value" return View("I

我有
MVC3剃须刀
应用程序。一旦我提交表单并在
Action
中更改
ViewModel
内容,我就看不到填充的新值

MVC2
中有一个关于这一点的主题,在
MVC3

您能告诉我们是否有这样做的选项,或者在不使用JavaScript的情况下使用回发更新UI的更好方法(解决方法)是什么吗

行动:

[HttpPost]
public ActionResult Index(MyViewModel model)
{
    model.Value = "new value"
    return View("Index", model);
}
用户界面:

视图模型:

public class MyViewModel
{
   public string Value { get;set; }
}

您应该使用
表单
将其发布到操作中

@model MyViewModel

@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
    @Html.HiddenFor(x=>x.Value)
    <input type="submit" value="Submit" />
}

看起来它使用的是发布的ModelState值

如果使用
ModelState.clear()
清除ModelState,则设置的新值应位于隐藏字段中

@model MyViewModel

@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
    @Html.HiddenFor(x=>x.Value)
    <input type="submit" value="Submit" />
}
//
public ActionResult Index()
{
    MyViewModel model = new MyViewModel();
    model.Value = "old value";

    return View("Index", model);
}

[HttpPost]
public ActionResult Index(MyViewModel model)
{
    //get posted model values (changed value by view "new value")
    string changed_value = model.Value;

    // you can return model again if your model.State is false or after update
    return View("Index", model);
}