如何在不使用Dropdownlistfor MVC 4的情况下从选择表单中发布我的值?

时间:2013-05-22 13:27:56

标签: asp.net-mvc-4 html.dropdownlistfor

我不知道需要多少代码才能让您理解我的问题所以我开始解释我想要做的事情。 我在视图中有一个表单,我在其中创建一个新对象。 在这种形式中,我想使用下拉列表,我已经尝试了很多@ Html.Dropdownlistfor(),但意识到我不想使用它,因为我不知道如何在此使用som Jquery UI代码我不知道如何发送与下拉列表中显示的值不同的值。 你们有没有人知道我如何将下拉列表中选择的值发送给我的控制器?

2 个答案:

答案 0 :(得分:1)

DropDownListFor辅助方法实际上呈现SELECT元素。因此,如果您不想使用辅助方法,您可以编写RAW HTML代码

@model CreateUserVM
@using(Html.BeginForm())
{
    <select name="SelectedCity" id="SelectedCity">
      <option value='1'>Ann Arbor</option>
      <option value='2'>Novi</option>
      <option value='3'>Detroit</option>
    </select>
}

确保您的SELECT元素名称属性值与您在模型中使用的属性值相同,以便模型绑定起作用。

public class CreateUserVM
{
   public int SelectedCity { set;get;}
  //other properties
}

答案 1 :(得分:0)

在视图模型中:

puclic class ViewModel
{
   int SelectId{get;set;}
}

在视图中

<select name="SelectId" id="SelectId">
  <option value='1'>one</option>
  <option value='2'>Two</option>
</select>

发布表单后,ViewModel.SelectId将包含下拉列表中所选项目的值