你能帮我如何将所选选项的参数发送到 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):
- 对于 ASP.NET 网页:http://www.asp.net/web-pages
- 对于 ASP.NET WebForms:http://www.asp.net/web-forms
- 对于 ASP.NET MVC:http://www.asp.net/mvc
类(class)位于每个页面的右侧边栏中
来自 Scott Hanselman:
关于asp.net-mvc-3 - 如何将所选选项的参数发送到 MVC 中的 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12405649/