当我不在webgrid中工作时,我在下载列表中找到正确的选定项目时遇到问题。
所以我拥有的是:
@{
:
:
var sql = "select * from AV_SDQ where StudentID = @0 and Assesment_key = @1";
var scores = db.QuerySingle(sql, StudentID, Assesment_Key);
var q1 = db.Query("select score_item_enum_key as Col1, abc_value as Col1v from assesment_enum where assesment_key = @0 and seq = 1 order by enum_seq", Assesment_Key)
.Select(q1e => new SelectListItem {
Value = q1e.Col1.ToString(),
Text = q1e.Col1v.ToString()
});
if(IsPost && !Request["buttonSubmit"].IsEmpty()){
my methods to insert the data - work beautifully
scores = db.QuerySingle(sql, StudentID, Assesment_Key);
}
}
<form method="post">
<table>
<tr><td>
Considerate of other people's feelings
</td><td>
@Html.DropDownList("Col1", "-- Select --", q1, scores.Col1, new ***[ WHAT DO I PUT HERE?????????]*** )
</td></tr>
</table>
@{ if(scores != null) {
if(!IsPost){
<p><input type="submit" name="buttonSubmit" value="Submit" /></p>
}
if(IsPost){
<p><input type="submit" name="buttonSubmit" value="Submitted!" /></p>
}
}}
</form>
我知道Html.DropDownList的重载需要第五个参数(新的HTML.Attributes),但我完全失去了放在这里的东西.......如果我在Gridview中我只会有新。但似乎我需要新的 _ 而且我不知道要为 ____ 添加什么。
我的下拉列表正常工作,我在发布时正确设置了数据库中的值。
感谢您的帮助!
答案 0 :(得分:0)
跟进以下回复:
我想将selectedValue设置为第4个参数。这需要我使用5个参数。我有对象或IDDictionary htmlAttributes
的选项这是有效的:
</td><td>
@Html.DropDownList("Col1", "-- Select --", q1, scores.Col1, new { @class = "smallertext"} )
</td></tr>
答案 1 :(得分:0)
如果您不需要设置下拉列表的任何HTML属性,则只需将new { }
放在那里
@Html.DropDownList("Col1", "-- Select --", q1, scores.Col1, new { })
但是,如果您需要设置下拉列表的一个或多个HTML属性,这里有一个设置css类的示例
@Html.DropDownList("Col1", "-- Select --", q1, scores.Col1, new { @class = "smallertext" })
或者是否有多个HTML属性
@Html.DropDownList("Col1", "-- Select --", q1, scores.Col1, new { @class = "smallertext", @disabled = "disabled" })