繁体   English   中英

将数据从视图传递到ASP.NET MVC中的控制器

[英]Passing data from View to Controller in ASP.NET MVC

我有模特班人

public class Person
{
    public string name { get; set; }
    public string area { get; set; }
}

现在,在索引视图中,我想通过从用户和area =“ foo”中获取值名称属性来将值从视图传递到控制器。我知道如何像下面这样从user中获取值

@using (Html.BeginForm())
{
  @Html.Label("Name")
  @Html.TextBoxFor(m=>m.name)

  <input type="submit" value="Name" /> 
}

现在,我想在视图中使用区域=“ foo”。我试图用Google搜索问题,但没有找到解决方案。 这是普遍问题。请勿在控制器中像设置值area =“ foo”这样回答。 请帮助我,不要不加评论就投票,以便将来改善我的问题。 谢谢

将一个隐藏字段添加到表单中,名称为“ area ”,然后将值设置为所需的值。 发布表单时,隐藏字段值也将发布到您的操作方法中。

@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之类的工具来更新浏览器中的隐藏字段值。 如果是敏感信息( 购物门户网站中的商品价格 ),请不要从客户那里读取。 从服务器读取它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM