asp.net-mvc – ASP.NET MVC – Html.DropDownList – 值未通过V
发布时间:2020-12-16 00:34:42 所属栏目:asp.Net 来源:网络整理
导读:刚刚开始玩ASP.NET MVC,并且偶然发现了以下情况。它感觉很像一个错误,但如果它不,一个解释将不胜感激:) 视图包含相当基本的东西 %=Html.DropDownList("MyList",ViewData["MyListItems"] as SelectList)%%=Html.TextBox("MyTextBox")% 当不使用模型时,值
刚刚开始玩ASP.NET MVC,并且偶然发现了以下情况。它感觉很像一个错误,但如果它不,一个解释将不胜感激:)
视图包含相当基本的东西 <%=Html.DropDownList("MyList",ViewData["MyListItems"] as SelectList)%> <%=Html.TextBox("MyTextBox")%> 当不使用模型时,值和所选项目按预期设置: //works fine public ActionResult MyAction(){ ViewData["MyListItems"] = new SelectList(items,"Value","Text"); //items is an ienumerable of {Value="XXX",Text="YYY"} ViewData["MyList"] = "XXX"; //set the selected item to be the one with value 'XXX' ViewData["MyTextBox"] = "ABC"; //sets textbox value to 'ABC' return View(); } 但是,当尝试通过模型加载时,文本框的值将按预期设置,但下拉列表中没有获取所选项目集。 //doesnt work public ActionResult MyAction(){ ViewData["MyListItems"] = new SelectList(items,Text="YYY"} var model = new { MyList = "XXX",//set the selected item to be the one with value 'XXX' MyTextBox = "ABC" //sets textbox value to 'ABC' } return View(model); } 有任何想法吗?我目前的想法是,也许在使用模型时,我们仅限于在SelectList构造函数上设置所选项目,而不是使用viewdata(可以正常工作),并将选择列表传递给模型 – 这将有利于清理代码一点点 – 我只是想知道为什么这种方法不工作…. 非常感谢任何建议 解决方法
经过一连串的折边和歪斜,它归结为以下代码行
if (ViewData.ModelState.TryGetValue(key,out modelState)) 这意味着MVC正在尝试通过仅查看ViewData Dictionary<>对象,而不是遍历到ViewData.Model对象。 无论是错误,限制还是设计决定,我都不确定。但是,您可以通过以下方式进行修复: <%= Html.TextBox("MyTextBox",ViewData.Model.MyTextBox) %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – ValidationGroup的RequiredFieldValidator不验证
- asp.net – 如何Html.Encode在Webforms
- asp.net – SCOPE_IDENTITY()不起作用
- asp.net – 用于集成的IIS 7的自定义HttpModule
- asp.net – Visual studio 2013:无法看到下拉开始使用任何
- ASP.NET – 使用WCF Web服务绑定w / AD组的IIS7部署错误500
- 如何在ASP.Net Web API中为特定控制器启用Windows身份验证
- .net – 带标准短语的免费/开源resx文件
- ASP.NET MVC URL在CSS文件中自动解析
- ASP.NET MVC2模型验证失败,非美国日期格式
推荐文章
站长推荐
- 在ASP.NET中创建一个适用于黑莓,Windows Mobile和
- asp.net-mvc – 从控制器内部获取部分视图的HTML
- asp.net – 我应该继续研究MVC 1.0上的项目还是停
- asp.net核心 – ASP.NET 5,DNX&Kestrel:没有
- asp.net-mvc – 在请求之间保持/缓存数据 – 常用
- asp.net-web-api – 如何记录webapi中控制器中执
- ASP.net WebForms是CPU密集型平台吗?
- asp.net-mvc – 具有区域的Url.Action()返回空字
- 单元在ASP.NET中测试登录
- asp.net – 在Response.RedirectToRoute之后跳过
热点阅读