asp.net-mvc-3 - 如何将所选选项的参数发送到 MVC 中的 Controller ?

标签 asp.net-mvc-3

你能帮我如何将所选选项的参数发送到 Controller 吗?这是我的观点:

<select>
   @foreach(var item in Model.City)
   {      
      <option>@Html.DisplayFor(x => item.Name)</option>

   }
</select>

最佳答案

所以,在您看来,您会得到类似这样的东西:

@model MyModel

@using(Html.BeginForm()) {

  <select id="City" name="City">
    @foreach(var c in Model.City)
    {
      <option value="@c.Id">@c.Name</option>
    }
  </select>

  <input type="submit" value="Post data to controller" />

}

在你的 Controller 中,你所要做的就是有一个同名但签名不同的 Action :

或者:

[HttpPost]
public ActionResult Edit(string City) { ... }

或者你可以传递整个模型

[HttpPost]
public ActionResult Edit(MyModel model) { 
  string city = model.City;
}

但是对于这样的问题,我建议您花一些时间学习来自 PluralSight 的免费 ASP.NET 类(class),您可以在 ASP.NET 官方网站上找到它:

免费类(class):

类(class)位于每个页面的右侧边栏中

来自 Scott Hanselman:

关于asp.net-mvc-3 - 如何将所选选项的参数发送到 MVC 中的 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12405649/

相关文章:

asp.net-mvc - 使用@ Html.Partial渲染用户控件(cshtml)

asp.net-mvc - 您如何覆盖 Orchard CMS 中导航区域的渲染?

asp.net - 无法连接到 .NET MVC3 中的 mysql 数据库

asp.net-mvc - MVC 3 和强类型 View

c# - 无法在 ASP.Net MVC 3 项目中使用 Entity Framework 保存更改

javascript - MVC3应用程序和javascripts问题

c# - 将枚举的内容获取到下拉列表

asp.net-mvc-3 - 与新 MVC 3 ViewBag 的代码契约

javascript - 如何在mvc3中执行操作而不更改当前页面

database - 是否可以使用 foreach 条件在单元格中显示多个项目?