Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC中的DropdownList-未发布值_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 4_Razor - Fatal编程技术网

C# ASP.NET MVC中的DropdownList-未发布值

C# ASP.NET MVC中的DropdownList-未发布值,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我在ASP MVC(Razor)中有一个表单,在这个表单中我有一个文本框。。。和一个,我想将此选择的所选选项(值)像其他信息一样传输到控制器。文本框被正确地传输到控制器,并保存在数据库中 我在数据库中有一个名为NumberParticipant的字段,由于我的创建控制器,我想在数据库中传输信息: 我的代码: @using (Html.BeginForm()) { <div class="form-group"> @Html.LabelFor(model => mod

我在ASP MVC(Razor)中有一个表单,在这个表单中我有一个文本框。。。和一个
,我想将此选择的所选选项(值)像其他信息一样传输到控制器。文本框被正确地传输到控制器,并保存在数据库中

我在数据库中有一个名为NumberParticipant的字段,由于我的创建控制器,我想在数据库中传输信息:

我的代码:

@using (Html.BeginForm())
{
  <div class="form-group">
    @Html.LabelFor(model => model.LocalNumber, new { @class = "control-label col-md-2" })
    <div class="col-md-10">
      @Html.EditorFor(model => model.LocalNumber, new { htmlAttributes = new { @class = "form-control" } })
      @Html.ValidationMessageFor(model => model.LocalNumber)
    </div>
  </div>
  <div class="col-md-10">
    <select class="form-control" id="numberParticipant">
      <option value=""></option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
    </select>
  </div>
  <input type="submit" value="Create" class="btn btn-default" />
}
@使用(Html.BeginForm())
{
@LabelFor(model=>model.LocalNumber,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.LocalNumber,new{htmlAttributes=new{@class=“form control”}})
@Html.ValidationMessageFor(model=>model.LocalNumber)
2.
3.
4.
5.
}

使用MVC DropDownList帮助程序可以避免您写出所有html。下面是一个在视图中设置选项值的示例

<div class="col-md-10">
    @Html.DropDownListFor(model => model.NumberParticipant, 
        new SelectList(new [] 
        { new {value="",text=""},
          new {value="2",text="2"},
          new {value="3",text="3"},
          new {value="4",text="4"},
          new {value="5",text="5"}
    },"value","text"), new { htmlAttributes = new { @class = "form-control" }})
</div>

@Html.DropDownListFor(model=>model.NumberParticipant,
新建选择列表(新建[]
{new{value=”“,text=”“},
新的{value=“2”,text=“2”},
新的{value=“3”,text=“3”},
新的{value=“4”,text=“4”},
新建{value=“5”,text=“5”}
}新的{htmlAttributes=new{@class=“form control”})
最佳做法是将SelectList类型的属性添加到模型类中,并在其中设置可能的选项。然后可以在帮助器中引用新属性,如下所示:

<div class="col-md-10">
    @Html.DropDownListFor(model => model.NumberParticipant, 
        Model.MySelectList, new { htmlAttributes = new { @class = "form-control" }})
</div>

@Html.DropDownListFor(model=>model.NumberParticipant,
Model.MySelectList,new{htmlAttributes=new{@class=“form control”})

您的
没有
名称
属性,因此不会发回任何内容。(为什么不绑定到一个模型属性并使用
@Html.DropDownListFor()
)我想到了DropDownListFor,但是我如何才能将选项2、3、4、5和第一个选项null放入这个dropdownlist?新的SelectList(“,”2“,”3“,”4“,”5”),我不能将5项放入那个好点!我刚刚编辑了我的答案,以更正填充SelectList的语法。我建议在模型中创建一个SelectList属性,并尽可能使用第二种方法。我的选项没有值,例如2,该值必须为22@user3524214,当您选择显示文本为
2
的选项时,将回发
2
的值(如果没有明确的
属性,则使用文本)。