如何在下拉列表中设置默认值以使用 ViewBag

迪帕克

我之前看到过其他相同标题的问题。我试过它们,但它们不起作用。

我有一个主列表,我正在像这样获取:

ViewBag.ProgramListChecker = manager.GetProgramListForCommittee(RegistrationId);

GetProgramListForCommittee 方法填充为:

public List<ProgramListCheckerEntity> GetProgramListForCommittee(int RegistrationId)
    {
        try
        {
            List<ProgramListCheckerEntity> list = new List<ProgramListCheckerEntity>();
            DataTable dt = _repository.GetProgramListForCommittee(RegistrationId);

            if (dt.Rows.Count > 0)
            {
                foreach (DataRow dr in dt.Rows)
                {
                    ProgramListCheckerEntity obj = new ProgramListCheckerEntity();
                    obj.ItemName = dr.IsNull("ItemName") ? "" : dr["ItemName"].ToString();
                    obj.ResultOption = dr.IsNull("SelectedOptionName") ? "" : dr["SelectedOptionName"].ToString();
                    obj.Remarks = dr.IsNull("Remarks") ? "" : dr["Remarks"].ToString();
                    obj.CheckListRowId = dr.IsNull("CheckListRowId") ? 0 : Convert.ToInt32(dr["CheckListRowId"]);
                    obj.CommitteeActionId = dr.IsNull("CommitteeActionId") ? 0 : Convert.ToInt32(dr["CommitteeActionId"]);
                    obj.CommitteeRemarks = dr.IsNull("CommitteeRemarks") ? "" : dr["CommitteeRemarks"].ToString();
                    list.Add(obj);
                }
            }

            return list;
        }

我用于下拉值的另一个列表:

 ViewBag.InspectionActionList = obj.GetMasterTableList("Master.InspectionAction", "ActionId", "ActionName", "");

方法是:-

public List<DropDownEntity> GetMasterTableList(string TableName, string DataValueField, string DataTextField)
    {
        var parms = new Dictionary<string, object>();
        var spName = ConfigurationManager.AppSettings["GetMasterTableList"];

        parms.Add("@TableName", TableName);
        parms.Add("@DataValueField", DataValueField);
        parms.Add("@DataTextField", DataTextField);

        return DataTableToList(_dbAccess.GetDataTable(spName, parms));
    }

我想在下拉列表中ViewBag.ProgramListChecker使用默认值,并ViewBag.InspectionActionList. 虽然列表正在填充但默认值未选择。

这是我的 cshtml:

<table id="tblList" class="table dva-table dva-tborder agencygrid">
    <tbody>
        @{int counter = 0; }

        @foreach (var item in ViewBag.ProgramListChecker)
        {
            <tr>
                <td style="width:5%;text-align:center">
                    @(++counter)
                </td>
                <td style="width:25%;text-align:left">
                    @item.ItemName
                </td>
                <td style="width:10%;text-align:center">
                    @item.ResultOption
                </td>
                <td style="width:25%;text-align:center">
                    @item.Remarks                                    
                </td>
                <td style="width:15%;text-align:center">
                    @Html.DropDownListFor(m => m.CommitteeActionId, new SelectList(ViewBag.InspectionActionList, "DataValueField", "DataTextField", item.CommitteeActionId), new
               {
                   @id = "ddlAction",
                   @class = "form-control requiredValidation"
               })
                </td>
                <td style="width:35%;text-align:center">
                    <input type="text" id="CommitteeRemarks" value="@item.CommitteeRemarks" maxlength="1000" rows="10" class="form-control" />
                    <input type="hidden" id="CheckListRowId" value="@item.CheckListRowId" class="form-control" />
                </td>
            </tr>
        }
    </tbody>
</table>
坦维尔·阿杰尔

首先确保item.CommitteeActionId"DataValueField"inViewBag.InspectionActionList是相同的类型,然后使用不同的名称,DropDownList如下所示:

@Html.DropDownList("ComActionId", new SelectList(ViewBag.InspectionActionList, "DataValueField", "DataTextField", item.CommitteeActionId), new
               {
                   @id = "ddlAction",
                   @class = "form-control requiredValidation"
               })

这里我用过ComActionId举例。现在它应该可以工作了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从ActionFilterAttribute设置ViewBag

来自分类Dev

Viewbag中的外键值

来自分类Dev

使用Viewbag发送数据

来自分类Dev

如何在jQuery中阅读ViewBag列表

来自分类Dev

如何在下拉JavaScript中设置默认值

来自分类Dev

如何在 Viewbag 中绑定列表值(数组)

来自分类Dev

在Viewbag列表中出现错误

来自分类Dev

ViewBag的Html.ActionLink值

来自分类Dev

从ViewBag SelectList获取单个值

来自分类Dev

在“布局”页面中使用ViewBag

来自分类Dev

在“布局”页面中使用ViewBag

来自分类Dev

未使用ViewBag填充SelectList

来自分类Dev

如何使用 ViewBag 传递选定的查询列表

来自分类Dev

如何在 jQuery 中使用 ViewBag 数据

来自分类Dev

在下拉列表中设置默认值

来自分类Dev

在下拉列表中设置默认值

来自分类Dev

如何在JSP的下拉列表中设置默认值?

来自分类Dev

如何在IActionFilter MVC6中设置ViewBag?

来自分类Dev

如何设置_Layout.cshtml的ViewBag属性

来自分类Dev

在布局文件中设置ViewBag元描述

来自分类Dev

Viewbag会改变onclick中的值吗?

来自分类Dev

Viewbag会改变onclick中的值吗?

来自分类Dev

ViewBag 值未显示在选择框中?

来自分类Dev

使用ViewBag作为Html.BeginForm中的路由值将ViewBag值转换为小写

来自分类Dev

如何为Html.TextAreaFor()使用ViewBag

来自分类Dev

如何在使用 ng-options 创建的 html 下拉列表中设置默认值

来自分类Dev

用viewbag显示对象内部的列表

来自分类Dev

ViewBag正在传递更改的值PartialView

来自分类Dev

是否可以刷新视图中的ViewBag值?