Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 在表单提交后将HttpGet中的模型项获取到HttpPost-ASP.NET MVC 3_Asp.net Mvc_Asp.net Mvc 3_Razor_Http Post_Http Get - Fatal编程技术网

Asp.net mvc 在表单提交后将HttpGet中的模型项获取到HttpPost-ASP.NET MVC 3

Asp.net mvc 在表单提交后将HttpGet中的模型项获取到HttpPost-ASP.NET MVC 3,asp.net-mvc,asp.net-mvc-3,razor,http-post,http-get,Asp.net Mvc,Asp.net Mvc 3,Razor,Http Post,Http Get,我有点麻烦 我有一个HttpGet方法,如下所示: [HttpGet] public ActionResult Form() { MyModel model = new MyModel(); model.something = "hi"; return View(model); } 在我的模型中: public string something { get; set; } [Display(Name="Something Else:")] public string

我有点麻烦

我有一个HttpGet方法,如下所示:

[HttpGet]
public ActionResult Form()
{
    MyModel model = new MyModel();
    model.something = "hi";
    return View(model);
}
在我的模型中:

public string something { get; set; }

[Display(Name="Something Else:")]
public string somethingelse { get; set; }
在我看来,我有一个表格:

@model Path.To.Models.MyModel

@Html.TextBoxFor(model => model.somethingelse)

<input type="submit" value="Submit" />
有人能帮我吗?我需要在表单提交后从get to the POST获取数据,但返回空值


谢谢

您需要将
某物的值
与表单一起提交,您可以使用隐藏输入:

@model Path.To.Models.MyModel

@Html.HiddenFor(model => model.something)
@Html.TextBoxFor(model => model.somethingelse)

<input type="submit" value="Submit" />
@model Path.To.Models.MyModel
@Html.HiddenFor(model=>model.something)
@Html.TextBoxFor(model=>model.somethingelse)

您需要将
某物的值与表单一起提交,您可以使用隐藏的输入:

@model Path.To.Models.MyModel

@Html.HiddenFor(model => model.something)
@Html.TextBoxFor(model => model.somethingelse)

<input type="submit" value="Submit" />
@model Path.To.Models.MyModel
@Html.HiddenFor(model=>model.something)
@Html.TextBoxFor(model=>model.somethingelse)
您必须将“未更改的值”放在视图的隐藏字段中

@Html.HiddenFor(m => m.something) 
否则就不会通过

您必须将“未更改的值”放在视图的隐藏字段中

@Html.HiddenFor(m => m.something) 

否则就不会通过

因此,如果您想要一个完整的模型,您必须在视图中为模型中使用的每个字段添加一个隐藏字段?@CodeBlend。理论上是的,但是把所有的东西都放在隐藏的区域是一个不好的方法。当您执行post操作时,通常只需从数据库中再次获取实体,并仅更新所需的属性(如果要更新)。或者更好的方法是查看ViewModels。因此,如果您想要一个完整的模型,您必须为模型中使用的每个字段在视图中添加一个隐藏字段?@CodeBlend。理论上是的,但是把所有的东西都放在隐藏的区域是一个不好的方法。当您执行post操作时,通常只需从数据库中再次获取实体,并仅更新所需的属性(如果要更新)。或者更好,看看ViewModels。