我之前看到过其他相同标题的问题。我试过它们,但它们不起作用。
我有一个主列表,我正在像这样获取:
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] 删除。
我来说两句