c# – 从Html.DropdownListFor … MVC3获取文本
发布时间:2020-12-15 18:30:27 所属栏目:百科 来源:网络整理
导读:我有一个模特: public class DocumentModel{ public int TypeID { get; set; } public ListSelectListItem DocumentTypes { get; set; }} 我有一个观点: @Html.DropDownListFor(x = x.TypeID,Model.DocumentTypes,"- please select -") 我填充了我的下拉 v
我有一个模特:
public class DocumentModel { public int TypeID { get; set; } public List<SelectListItem> DocumentTypes { get; set; } } 我有一个观点: @Html.DropDownListFor(x => x.TypeID,Model.DocumentTypes,"- please select -") 我填充了我的下拉 var model = new DocumentModel(); model.DocumentTypes = GetDocumentTypes(); private static List<SelectListItem> GetDocumentTypes() { var items = new List<SelectListItem> { new SelectListItem {Text = @"Text #1",Value = "1"},new SelectListItem {Text = @"Text #2",Value = "2"},}; return items; } 回传表单时,我有一个控制器操作: [HttpPost] public void UploadDocument(DocumentModel model) { if (ModelState.IsValid) { // I want to get the text from the dropdown } } 如何从我的下拉列表中获取文本?谢谢 解决方法
使用默认模型绑定可能无法轻松获得此信息.你需要这样一个小的解决方法.
1)向模型/ viewmodel添加新属性以存储选定的文本 public class DocumentModel { public int TypeID { get; set; } public List<SelectListItem> DocumentTypes { get; set; } public string SelctedType { set;get;} } 2)使用Html.HiddenFor Helper方法在该属性的表单中创建隐藏变量 @Html.HiddenFor(x => x.SelctedType) 3)使用小javascript覆盖提交!即;当用户提交表单时,从下拉列表中获取所选文本,并将该值设置为隐藏字段的值. $(function () { $("form").submit(function(){ var selTypeText= $("#TypeID option:selected").text(); $("#SelctedType").val(selTypeText); }); }); 现在,在您的HTTPPost操作方法中,这将在SelectedType属性中可用. [HttpPost] public void UploadDocument(DocumentModel model) { if(ModelState.IsValid) { string thatValue=model.SelectedType; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 关于Ajax应用开发需要注意的事项
- swift – 具有默认值的Nonfailable枚举初始值设定项
- xcode – 核心数据从Integer 16更改为Integer 32的属性
- Ajax查询与dataType一起使用:’text’失败,dataType:’te
- c# – IntPtr算术
- 万事俱备之ORACLE_SQL 练手目录和 part1
- c# – 为什么Java没有指定非转义字符串文字的方法?
- jruby – warbler似乎使用了一个不理解size_t的不同ffi
- ruby-on-rails – 为什么我不能使用称为“动作”的参数?
- Bottled Water: 实时集成postgresql与kafka