Pau*_*eat 17 c# asp.net-mvc selectedvalue razor asp.net-mvc-4
我有一个问题,其中所选值不适用于Html.DropDownList帮助器方法.见下文:
这是我的控制器:
public ActionResult Edit(int id = 0)
{
NewsEvent item = GetItem(id);
ViewBag.NewsItemId = new SelectList(ViewBag.NewsItemId.Items, "Id", "Name", item.NewsItemId);
return View(item);
}
Run Code Online (Sandbox Code Playgroud)
这是我的观点:
@Html.DropDownList("NewsItemId",ViewBag.NewsItemId as SelectList, string.Empty,
new { @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)
但是,当我在视图中尝试以下时,它可以工作:
@Html.DropDownList("NewsItemId", string.Empty)
Run Code Online (Sandbox Code Playgroud)
以下也可以,但由于字段名称与模型不匹配,因此无法正确发布.
@Html.DropDownList("NewsItemIdDrop",ViewBag.NewsItemId as SelectList, string.Empty,
new { @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)
我需要使用第一个选项的原因是我可以将class属性添加到控件中.
有人能帮助我理解我做错了什么吗?
fre*_*hbm 46
你有同样的问题:
问题出在您的ViewBag属性名称中.因为它与模型中的属性相同,所以不起作用.您应该只将ViewBag道具的名称更改为其他名称,例如:
ViewBag.NewsItemList = new SelectList(ViewBag.NewsItemId.Items, "Id", "Name", item.NewsItemId);
Run Code Online (Sandbox Code Playgroud)
并在视图上
@Html.DropDownList("NewsItemId",ViewBag.NewsItemList as SelectList, string.Empty,
new { @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
45083 次 |
最近记录: |