C# MVC4下拉列表,用于不提交所选值

C# MVC4下拉列表,用于不提交所选值,c#,asp.net-mvc,html-helper,asp.net-mvc-viewmodel,C#,Asp.net Mvc,Html Helper,Asp.net Mvc Viewmodel,视图模型 namespace VendorFinancing.Web.Models { public class CreateApplicationViewModel { public Application Application { get; set; } public List<Equipment> Equipments { get; set; } public string SelectedVendorId;

视图模型

namespace VendorFinancing.Web.Models
{
    public class CreateApplicationViewModel
    {
        public Application Application { get; set; }

        public List<Equipment> Equipments { get; set; }

        public string SelectedVendorId;


        public IEnumerable<SelectListItem> VendorList { get; set; }
    }
}
控制器

public ActionResult Create()
        {
            var model = new CreateApplicationViewModel();



            model.VendorList = new List<SelectListItem>() { new SelectListItem() { Text = "London", Value = "1" }, 
                        new SelectListItem() { Text = "New York", Value="2" } };

            return View(model);
        }


[HttpPost]
        public ActionResult Create(CreateApplicationViewModel model)
        {

            return View(model);
        }
看法

这是非常基本的创建。提交表单时,SelectedVendorId仍然为空。我在不同的地方尝试了相同的例子,但仍然有效。我想不出原因。任何帮助都是值得的


编辑:发现我的错误SelectedVendorId没有get和set。在使其成为一个属性后,它可以工作。

,假设您安装了Firebug或类似软件,请仔细检查实际的POST请求;可能是该值已过账,但模型活页夹未提取。提交表单时是否禁用了下拉菜单?@Tieson:让我检查fiddler@ekad:怎么才能禁用下拉菜单?我发现了我的错误。我的viewModel selectedVendorId没有设置和获取。多么愚蠢的错误啊。
@using (Html.BeginForm("Create", "Application", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{

    <div class="form-horizontal">
        <h2>Submit Application </h2>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })

        <h3>Pick Vendor</h3>

        <div class="form-group">
            <div class="col-md-2">
                @Html.LabelFor(c => c.SelectedVendorId)
            </div>

            <div class="col-md-10">
                @Html.DropDownListFor(model => model.SelectedVendorId, Model.VendorList)
            </div>

        </div>



        <div class="form-group">
            <div class="col-md-offset-2 col-md-10 pull-left">
                <input type="submit" value="Create" class="btn btn-default pull-left" />
            </div>
        </div>
    </div>
}