这是this Question的问题扩展。
在这里,我可以将下拉列表值添加到Grid ..完美..
例如:在我的下拉列表框中,我有A B C D项目..
当我添加任何项目时,我正在显示网格,我正在重新加载页面。
我的网格有两列,一个是添加Dropdownlist值..另一个是其他一些文本值..
我网格中的每一行都有编辑按钮..
当我点击编辑时,我正在重新加载我的页面以编辑此选定的下拉列表值..
当我点击编辑时,我需要显示我需要在下拉列表中显示的网格中的Dropdownlist值。
以便用户知道他有这个下拉值..
如果有任何身体不能解决我的问题,请告诉我。
感谢
我的控制器代码..
public ActionResult Edit(int? id)
{
if (id.HasValue)
{
// _viewModel.ObnCategoryTextComponent = _obnRepository.GetObnCategoryById(id.Value);
var data = _obnRepository.GetSingle<ObnCategory>(id.Value);
string selectedValue = data.ObnCategoryName;
_viewModel.ServiceTypeListAll = new SelectList(_bvRepository.GetAllServiceTypes().OrderBy(n => n.ServiceTypeName), "ServiceTypeName", "ServiceTypeName", selectedValue);
// _viewModel.Category = data.ObnCategoryName;
}
return PartialView("Index",_viewModel);
}
我的观点是..
<%=Html.DropDownList("ServiceTypeListAll",Model.ServiceTypeListAll)%>
答案 0 :(得分:2)
您应该将相应的项目Selected属性设置为true:
public ActionResult Index(int id)
{
//string selectedValue = "textOfTheSelectedItem";
string selectedValue = _bvRepository.GetServiceType(id) // I only guess, that would be your repository access...
_viewModel.ServiceTypeListAll = new SelectList(_bvRepository.GetAllServiceTypes().ToList().OrderBy(n => n.ServiceTypeName).ToList(), "ServiceTypeName", "ServiceTypeName", selectedValue);
return View(_viewModel);
}
selectedValue
必须与列表中的一个ServiceTypeNames匹配:
对于以下列表,selectedValue
必须是“第1项”或“第2项”:
<select>
<option value="Item 1">Item 1</option>
<option value="Item 2">Item 2</option>
</select>