DropDownList - 未选择没有PostValue的selectedValue

时间:2010-06-22 12:41:16

标签: asp.net-mvc drop-down-menu

我使用asp.net mvc 2,我有DropDownListFor帮助器的问题。 我的ViewModel包含一个SelectList,其中包含所有必需值和1个SelectedValue。 当我在我的视图中使用DropDownListFor帮助程序时,未选择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"})%>

1 个答案:

答案 0 :(得分:1)

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

这是一个有效的例子:

型号:

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);
        }
    }
}

控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View(new MyModel { Test = "2" });
    }
}

查看:

<%: Html.DropDownListFor(x => x.Test, Model.TestList) %>