我有两种行动方法:
[HttpGet]
public ActionResult Customize()
{
return View(new CustomizeViewModel { Thing1 = "test", Thing2 = "test" });
}
[HttpPost]
public ActionResult Customize(CustomizeViewModel customizeViewModel)
{
_someService.DoSomething(customizeViewModel);
...
}
我的ViewModel看起来像:
public class CustomizeViewModel
{
public string Thing1 { get; set; }
public string Thing2 { get; set; }
public string Thing3 { get; set; }
}
在我的视图中,我有一个收集Thing3
值的文本框,只显示Thing1
和Thing2
的值。我的问题是,当我POST并输入Customize
方法的POST版本时,我只获得Thing3
的值(我在文本框中键入的值。)有什么方法可以获得我在Customize方法的GET版本中填充的值是否可以继续?我试过了UpdateModel()
,但这没效果。
答案 0 :(得分:1)
这是为其创建隐藏输入字段的内容之一。使用视图中的HiddenFor
将值存储在那里,您应该进行设置。在HTTP POST版本中出现的唯一数据是表单输入元素。
答案 1 :(得分:1)
为Thing1和Thing2添加隐藏字段。