如何在mvc中获取dropdownlist选择的值。 [英] How to get dropdownlist selected value in mvc.
问题描述
Hi, 这篇关于如何在mvc中获取dropdownlist选择的值。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
我想在mvc中获取所选的dropdownlist值,
在我的视图中我有textbox和dropdwnlist我在控制器中获取textxboxes值但是没有获得下拉列表选择的值。
请帮助我知道我错过了什么。
我有以下代码。
模型
<前lang =c#> public 类 ValveCertificateModel
{
public 字符串泄漏{获取; set ; }
public int 作业{ get 跨度>; set ; }
}
在ViewModel中
public class ValveCertificateViewModel
{
public ValveCertificateModel ValveCertificateData {获得跨度>; set ; }
public IEnumerable< TableSignalModel> SignalModel { get ; set ; }
}
public class TableSignalModel
{
public string SignalName {获取; set ; }
}
在控制器中
public ActionResult Index()
{
var valveFields = CertificateRepository.GetValveFields( );
return 查看(valveFields);
}
[HttpPost]
public ActionResult显示(ValveCertificateViewModel列表)
{
// TODO
return 查看(paraList);
}
我尝试过:
查看
@ using(Html.BeginForm(显示,证书) ,FormMethod.Post))
{
@ Html.LabelFor(m => m.ValveCertificateData.Job,new {@class =labelColor}):
@ Html.TextBoxFor( m => m.ValveCertificateData.Job,new {@class =form-control})
@ Html.DropDownListFor(m => m.ValveCertificateData.Leakage,new List(Model。 SignalModel,,SignalName,Model.ValveCertificateData.Leakage),Select one,new {@class =form-control});
}
我跑这个的时候我是获取dropdwnlist中的SignalName列表,然后选择提交按钮上的itemand单击,在控制器列表中,我的泄漏属性为null。
但我在控制器中获取文本框值。根据'F-ES-SiteCore'的建议,将新的List()更改为新的SelectListItem()。这应该有效。
I am trying to get the selected value of dropdownlist in mvc,
In my view I have textbox and dropdwnlist I am getting textxboxes value in controller but not getting dropdownlist selected value.
Please help me to know what I am missing.
I have below code.
In Model
public class ValveCertificateModel
{
public string Leakage { get; set; }
public int Job { get; set; }
}
In ViewModel
public class ValveCertificateViewModel
{
public ValveCertificateModel ValveCertificateData { get; set; }
public IEnumerable<TableSignalModel> SignalModel { get; set; }
}
public class TableSignalModel
{
public string SignalName { get; set; }
}
In Controller
public ActionResult Index()
{
var valveFields = CertificateRepository.GetValveFields();
return View(valveFields);
}
[HttpPost]
public ActionResult Display(ValveCertificateViewModel list)
{
//TODO
return View(paraList);
}
What I have tried:
In View
@using (Html.BeginForm("Display", "Certificate", FormMethod.Post))
{
@Html.LabelFor(m => m.ValveCertificateData.Job, new { @class = "labelColor" }) :
@Html.TextBoxFor(m => m.ValveCertificateData.Job, new { @class = "form-control" })
@Html.DropDownListFor(m => m.ValveCertificateData.Leakage, new List(Model.SignalModel, "", "SignalName", Model.ValveCertificateData.Leakage),"Select one", new { @class = "form-control" });
}
When I run this I am getting list of SignalName in dropdwnlist, and on select the itemand on submit button click, In controller In list I am getting null for leakage property.
but I am getting textbox value in controller.As suggested by 'F-ES-SiteCore', change the new List() to new SelectListItem(). This should work.