0
我有一个DropDownlist提示用户状态,当用户选择一个状态,即。科罗拉多州,它在数据库中保存了'CO',效果很好。当用户返回页面时,它会在下拉列表中显示'CO',但当页面回传时,下拉列表值为空。如果我再次手动选择一个状态,请回复正确的信息并正确保存。不能使用asp.net MVC中的下拉列表的强类型参数
我创建的下拉列表是这样的:
<%= Html.DropDownList(dropDownName, Model.StateProvinceSelectList, qa.AnswerValue)%>
我是否正确地使用第三个参数? qa.AnswerValue是数据库中的值(在上例中包含“CO”)。
任何帮助,这将不胜感激。
这里是我的控制器:
public ActionResult Proceed(List<QuestionAnswer> questionAnswers)
{
questionAnswer[x].AnswerValue // <--- This is blank on postback, but if user selects, it is set properly
...
}
,这里是一旦值已设置,它看起来像MVC引擎设置显示的HTML,但不是值(在这种情况下,CO):
<select id="questionAnswers_5__AnswerValue" name="questionAnswers[5].AnswerValue">
<option value="">CO</option>
<option value="AL">ALABAMA</option>
<option value="AK">ALASKA</option>
<option value="AS">AMERICAN SAMOA</option>
<option value="AZ">ARIZONA </option>
...
</select>
这是如果我手动选择它并回发,但如果它从数据库填充,显示正确的状态,然后回发,它的行为像没有被选中。 – 2010-08-07 16:57:42
你能否提供一些来自controller-actions的代码? – 2010-08-08 09:02:50
Yngve,我在上面添加了一些代码。 MVC引擎似乎设置了下拉显示,但它并未设置该值,只有在用户手动选择该值时才会显示该值。 – 2010-08-10 21:58:58