你能帮我看看如何将所选选项的参数发送给控制器吗?这是我的观点:
<select>
@foreach(var item in Model.City)
{
<option>@Html.DisplayFor(x => item.Name)</option>
}
</select>
Run Code Online (Sandbox Code Playgroud)
bal*_*dre 11
所以,在你看来你会有类似的东西:
@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" />
}
Run Code Online (Sandbox Code Playgroud)
在您的控制器中,您所要做的就是使用相同名称的操作,但使用不同的签名:
之一:
[HttpPost]
public ActionResult Edit(string City) { ... }
Run Code Online (Sandbox Code Playgroud)
或者你可以通过整个模型
[HttpPost]
public ActionResult Edit(MyModel model) {
string city = model.City;
}
Run Code Online (Sandbox Code Playgroud)
但是有了这样的问题,我建议你花点时间使用PluralSight中的免费ASP.NET课程,你可以在ASP.NET oficial网站上找到它:
免费课程:
课程位于每页的右侧边栏
来自Scott Hanselman:
归档时间: |
|
查看次数: |
9047 次 |
最近记录: |