Asp.net mvc DropDownList-未选择不带PostValue的selectedValue

Asp.net mvc DropDownList-未选择不带PostValue的selectedValue,asp.net-mvc,drop-down-menu,Asp.net Mvc,Drop Down Menu,我使用asp.net mvc 2,但DropDownListFor帮助程序有问题。 My ViewModel包含一个包含所有必需值和1个SelectedValue的SelectList。 当我在视图中使用DropDownList for helper时,SelectedValue未被选中! 然后我选择另一个值并提交表单,在下一次渲染时使用所选的PostedValue。第一次渲染时出现了什么问题 <%=Html.LabelFor(m => m.Test)%> <%=Html

我使用asp.net mvc 2,但DropDownListFor帮助程序有问题。 My ViewModel包含一个包含所有必需值和1个SelectedValue的SelectList。 当我在视图中使用DropDownList for helper时,SelectedValue未被选中! 然后我选择另一个值并提交表单,在下一次渲染时使用所选的PostedValue。第一次渲染时出现了什么问题

<%=Html.LabelFor(m => m.Test)%>
<%=Html.DropDownListFor(m => m.Test, Model.TestList, new { tabindex = 1, @class = "selectbox" })%>
<%=Html.ValidationMessageFor(m => m.Test, null, new {@class = "text-hide", id = "Error-Test"})%>
m.Test)%>
m、 Test,Model.TestList,新的{tabindex=1,@class=“selectbox”})%>
m、 测试,空,新的{@class=“text hide”,id=“Error Test”})%>

根据您提供的内容,无法说明为什么它不工作,因为您既没有显示控制器,也没有显示视图模型

下面是一个有效的示例:

型号:

public class MyModel
{
    public string Test { get; set; }

    public IEnumerable<SelectListItem> TestList
    {
        get
        {
            return new SelectList(new[] 
            {
                new SelectListItem { Value = "1", Text = "text 1" },
                new SelectListItem { Value = "2", Text = "text 2" },
                new SelectListItem { Value = "3", Text = "text 3" },
            }, "Value", "Text", Test);
        }
    }
}
视图:

x.Test,Model.TestList)%>
public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(new MyModel { Test = "2" });
    }
}
<%: Html.DropDownListFor(x => x.Test, Model.TestList) %>