我有一个模型类Person
public class Person
{
public string name { get; set; }
public string area { get; set; }
}
现在,在我的索引视图中,我想通过从user和area =“foo”获取值name属性将值从视图传递到控制器。我知道如何从用户获取值,如下所示
@using (Html.BeginForm())
{
@Html.Label("Name")
@Html.TextBoxFor(m=>m.name)
<input type="submit" value="Name" />
}
现在,我想在views中找到area =“foo”。我试图谷歌问题,我没有找到解决方案。 这是一般性的问题。不要回答,在控制器中设置值area =“foo”。 请帮助我,不要在没有评论的情况下进行投票,这样我将来可以改进我的问题。 谢谢
答案 0 :(得分:1)
在表单中添加名为“区域”的隐藏字段,并将值设置为您想要的任意值。发布表单后,隐藏字段值也会发布到您的操作方法中。
@using (Html.BeginForm())
{
@Html.Label("Name")
@Html.TextBoxFor(m=>m.name)
<input type="hidden" name="area" value="foo" />
<input type="submit" value="Name" />
}
现在,您可以在 HttpPost 操作方法
中获取此功能[HttpPost]
public ActionResult Create(Person model)
{
// check for model.name and model.area.
// TO DO : Save and redirect
}
你应该记住,人们总是可以使用像firebug这样的工具来更新浏览器中的隐藏字段值。如果它是敏感信息( 购物门户中商品的价格 ),请不要从客户端读取此类信息。从服务器读取它。