我有一个非常奇怪的问题。我想在表单子目录后更改下拉列表的选定值。我知道HtmlHelper正在检索ModelState值,该值填充了发布的数据。但我有一个从我的POST动作重定向到GET动作!但是我的ddl填充了帖子中提交的值。我还将此代码添加到我的帖子操作:ModelState.Clear(),但这对我来说也没有帮助。
为了调试,我在表单中添加了另一个ddl;
@Html.DropDownList("asd" + Guid.NewGuid(), Model.Voting.Result.ToSelectList())
始终显示服务器代码提供的值。但是目标ddl
@Html.DropDownListFor(x => x.Voting.Result, Model.Voting.Result.ToSelectList())
始终具有用户发布的值。 如何填充目标ddl?
答案 0 :(得分:1)
您必须将初始值传递给它,如
@Html.DropDownListFor(x => x.Voting.Result,
new SelectList(Model.Voting.Result, "Id", "Name", /*initial value*/))
使用this类
的SelectList构造函数编辑 最初我把论据放错了方法
答案 1 :(得分:1)