【问题标题】:Html.DropDownListFor will ignore ViewBag valuesHtml.DropDownListFor 将忽略 ViewBag 值
【发布时间】:2013-11-17 00:30:07
【问题描述】:

我有以下操作方法:-

 public ActionResult AdvanceSearch(string AssetTypeName) 

        {
            ViewBag.Techtypes = repository.GetAllTechnologyType().ToList();
            ViewBag.AssetID = repository.GetTechnologyTypeID(AssetTypeName);                

            return View();
        }

这将调用以下视图:- //代码在这里

@Html.DropDownListFor(model =>model.AssetTypeID, ((IEnumerable<TMS.Models.TechnologyType>)ViewBag.Techtypes).Select(option => new SelectListItem {
        Text = (option == null ? "None" :option.Name), 
        Value = option.AssetTypeID.ToString(),
        Selected = (Model != null) && (option.AssetTypeID == ViewBag.AssetID)
    }), "All")

//代码放在这里

但下拉菜单将始终显示默认值“All”,而不是选择与 viewBag 值 option.AssetTypeID == ViewBag.AssetID 匹配的项目。指出 ViewBag 将具有正确的值。任何人都可以知道可能是什么问题吗? 谢谢

【问题讨论】:

  • 只是想知道以下解决方案是否适合您?还是您还有同样的问题?

标签: asp.net-mvc-4 razor html-helper


【解决方案1】:

我认为你的情况是错误的。试试这个。检查“已选择”属性。

 @Html.DropDownListFor(model => model.AssetTypeID, ((IEnumerable<TechnologyType>)ViewBag.Techtypes).Select(option => new SelectListItem
           {
               Text = (option == null ? "None" : option.Name),
               Value = option.AssetTypeID.ToString(),
               Selected = (option.AssetTypeID == (int)ViewBag.AssetID)
           }), "All")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 1970-01-01
    • 2014-03-27
    • 2019-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多