asp.net mvc Html.DropDownList 怎么设置默认选中?

 我来答
若以下回答无法解决问题,邀请你更新回答
玉雕名家
2016-05-27 · TA获得超过353个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:117万
展开全部
在使用@Html.DropDownList的过程中,发现它的用法很局限,比如在加载的时候显示设定的默认项或者调整它的显示样式,在网上查了一些资料,终于把这个问题解决了。

一、View代码

[html] view plain copy
@using (Ajax.BeginForm("Edit", new AjaxOptions() { OnSuccess = "afterEdit" }))
{
@Html.HiddenFor(model => model.ID)
@Html.HiddenFor(model => model.isUsed)

<div style="padding: 40px 40px 30px 50px;">
<table style="font-size:12px" align="center">
<tr>
<td>@Html.Label("评论人职务:")</td>
<td>@Html.DropDownList("YzPositionCriticsID", ViewData["CriticsPositionType"] as SelectList)</td>
</tr>
<tr>
<td>@Html.Label("被评论人职务:")</td>
<td>@Html.DropDownList("YzPositionEvaluationID", ViewData["EvaluationPosition"] as SelectList)</td>
</tr>
<tr>
<td>@Html.Label("权重:")</td>
<td>@Html.TextBoxFor(model => model.Weight)</td>
</tr>
</table>
</div>

}

二、Controller代码

[csharp] view plain copy
public ActionResult Edit(string id)
{
//6.1根据ID从数据库中查出要修改的相关数据
Guid Gid = new Guid(id);
Model.DTO.YzWeightEntityDTO weight = weightBLL.LoadEnities(u => u.ID == Gid).FirstOrDefault().ToDto();

//6.2查询YzPositionEntity实体的数据
List<Model.DTO.YzPositionEntityDTO> positionList = positionBLL.LoadEnities().ToList().Select(s => s.ToDto()).ToList();

//6.3将YzPositionEntity的数据封装到 SelectList中,制定要生成下拉框选项的value和text属性
SelectList selList1 = new SelectList(positionList, "ID", "PositionType", weight.YzPositionCriticsID);
SelectList selList2 = new SelectList(positionList, "ID", "PositionType",weight.YzPositionEvaluationID);

//6.4把生成的集合放到ViewData中
ViewData["CriticsPositionType"] = selList1;
ViewData["EvaluationPosition"] = selList2;
return View(weight);
}

在这里需要注意的是:SelectList selList1 = new SelectList(list,"","",***),这里的***就是下拉框加载时候要显示的默认值。

最后的显示效果如下:

总结:
在MVC的学习过程中,总会时不时遇到一些小问题,需要转个弯才能找到答案。在解决问题的过程中经验真的很重要,它能告诉你一个问题的突破点在什么地方;除此之外,熟练的使用API文档也是解决问题的重要途径;最后,真的发现解决问题是提高自己学习兴趣的不接动力。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式