Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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# 如何从视图中获取下拉列表所选项目并将其传递给模型(未来用途)_C#_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4_Razor - Fatal编程技术网

C# 如何从视图中获取下拉列表所选项目并将其传递给模型(未来用途)

C# 如何从视图中获取下拉列表所选项目并将其传递给模型(未来用途),c#,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Razor,我有一个下拉列表,我需要在视图中设置所选的值,稍后当用户选择下拉列表中的任何项目时,我需要将该列表传递给model。。我用这种方式在控制器中绑定下拉列表 [AcceptVerbs(HttpVerbs.Get)] public ActionResult Index() { var itemsforDropdown = new List<SelectListItem> {

我有一个下拉列表,我需要在视图中设置所选的值,稍后当用户选择下拉列表中的任何项目时,我需要将该列表传递给model。。我用这种方式在控制器中绑定下拉列表

       [AcceptVerbs(HttpVerbs.Get)]
        public ActionResult Index()
        {
            var itemsforDropdown = new List<SelectListItem> {             
               new SelectListItem{ Text = "Amount" , Value = "Amount"},
               new   SelectListItem{Text= "Pound", Value ="Pound"},
                new  SelectListItem {Text ="Percent", Value ="Percent"}            
            };
            ViewBag.ItemsforDrop = itemsforDropdown;
            //ViewData["listitem"] = itemsforDropdown;
            return View("DdlCrossFields");
        }
这是我的观点

  @using (Html.BeginForm("PostValues", "CrossFieldsTxtboxes"))
  {   
    @Html.ValidationSummary(true)
    <div class ="editor-field">
      @Html.TextBoxFor(m => m.TxtCrossField)
       @Html.ValidationMessageFor(m=>m.TxtCrossField)
    </div>
      @Html.DropDownList("ItemsforDrop", ViewBag.ItemsforDrop as SelectList,"Select A state", new {id= "State"})  
    //here i need to get  the selected value and i need to pass the this on to model fro future purpose " 
    <input id="PostValues" type="Submit" value="PostValues" />
   }
有谁能帮上忙吗。。。
非常感谢….

在控制器[HttpPost]操作中添加以下内容

string selectedVal = Request.Form["ItemsforDrop"].ToString();

我发现很难弄清楚你到底想在这里实现什么,但我会设置如下页面

这样,CrossFieldValidation将与列表中的选定值一起发送到PostValues

模型

看法

string selectedVal = Request.Form["ItemsforDrop"].ToString();
public class CrossFieldValidation
{
    [ValueMustbeInRange]
    public string DDlList1
    { get; set; }

    /* add the items list into the model */
    public IEnumerable<SelectListItem> Items 
    { get; set; }    

    public string SelectedValue
    { get; set; }

    [Display(Name = "Quantity:")]
    public string TxtCrossField
    { get; set; }
}
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index()
{
    var model = new CrossFieldValidation {
        Items = new [] {             
           new SelectListItem{ Text = "Amount" , Value = "Amount"},
           new SelectListItem{Text= "Pound", Value ="Pound"},
           new SelectListItem {Text ="Percent", Value ="Percent"}            
        }
    };     

    return View(model);
}
 @model CrossFieldValidation
 @using (Html.BeginForm("PostValues", "CrossFieldsTxtboxes"))
  {   
    @Html.ValidationSummary(true)
    <div class ="editor-field">
      @Html.TextBoxFor(m => m.TxtCrossField)
       @Html.ValidationMessageFor(m=>m.TxtCrossField)
    </div>
    @Html.DropDownListFor(m=>m.SelectedValue, new SelectList(Model.Items, "Value", "Text"))  

    <input id="PostValues" type="Submit" value="PostValues" />
   }