C# 如何从视图中获取下拉列表所选项目并将其传递给模型(未来用途)
我有一个下拉列表,我需要在视图中设置所选的值,稍后当用户选择下拉列表中的任何项目时,我需要将该列表传递给model。。我用这种方式在控制器中绑定下拉列表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> {
[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" />
}