为了账号安全,请及时绑定邮箱和手机立即绑定

下拉列表在MVC3 Razor中设置选定的值

下拉列表在MVC3 Razor中设置选定的值

Smart猫小萌 2019-11-28 13:09:55
这是我的模型:public class NewsCategoriesModel {    public int NewsCategoriesID { get; set; }            public string NewsCategoriesName { get; set; }}我的控制器:public ActionResult NewsEdit(int ID, dms_New dsn) {    dsn = (from a in dc.dms_News where a.NewsID == ID select a).FirstOrDefault();    var categories = (from b in dc.dms_NewsCategories select b).ToList();    var selectedValue = dsn.NewsCategoriesID;    SelectList ListCategories = new SelectList(categories, "NewsCategoriesID", "NewsCategoriesName",selectedValue);    // ViewBag.NewsCategoriesID = new SelectList(categories as IEnumerable<dms_NewsCategory>, "NewsCategoriesID", "NewsCategoriesName", dsn.NewsCategoriesID);    ViewBag.NewsCategoriesID = ListCategories;    return View(dsn);}然后我的看法:@Html.DropDownList("NewsCategoriesID", (SelectList)ViewBag.NewsCategoriesID)当我运行时,DropDownList不会选择我设置的值。它总是在选择第一个选项。
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

以防万一有人提出这个问题,这是我的方法,请忘记存储库对象,我使用的是存储库模式,您可以使用对象上下文来检索实体。而且也不必关注我的实体名称,我的实体类型Action与MVC Action无关。


控制器:


ViewBag.ActionStatusId = new SelectList(repository.GetAll<ActionStatus>(), "ActionStatusId", "Name", myAction.ActionStatusId);

请注意,SelectList构造函数的最后一个变量是所选值(对象selectedValue)。


这是我的渲染视图:


<div class="editor-label">

   @Html.LabelFor(model => model.ActionStatusId, "ActionStatus")

</div>

<div class="editor-field">

   @Html.DropDownList("ActionStatusId")

   @Html.ValidationMessageFor(model => model.ActionStatusId)

</div> 

我认为这很简单,希望对您有所帮助!:)


查看完整回答
反对 回复 2019-11-28
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

我细化了下拉列表的形式,而不是使用@Html.DropDownList()。如果您必须在运行时使用剃须刀(而不是控制器)设置下拉列表的值,这将很有用:


<select id="NewsCategoriesID" name="NewsCategoriesID">

    @foreach (SelectListItem option in ViewBag.NewsCategoriesID)

    {

        <option value="@option.Value" @(option.Value == ViewBag.ValueToSet ? "selected='selected'" : "")>@option.Text</option>


    }

</select>


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 781 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信