asp.net-mvc – ASP.NET MVC – Html.DropDownList – 值未通过ViewData
发布时间:2020-05-23 16:58:58 所属栏目: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命名空间
- asp.net-mvc-2 – 我应该在我的MVC视图中使用Url.Content()
- asp.net – CalendarExtender定位问题
- asp.net-mvc-3 – 为什么@ Html.Label()删除一些字符
- asp.net-mvc – .Net 4内存缓存类和用户会话
- 没有完整PostBacks的ASP.NET JavaScript回调?
- asp.net-mvc – ASP.NET MVC – AntiForgeryToken会阻止用户
- ASP.Net注销代码块
- asp.net-mvc – 在ASP.NET MVC中的NHibernate会话管理
- asp.net-mvc – 绑定到MVC中的SelectList
推荐文章
站长推荐
- asp.net – Nlog不创建相对于网站项目的文件
- asp.net-mvc – 如何在VS2008 Web Devloper Expr
- 如何从ASP.NET应用程序启动/停止Windows服务 –
- asp.net – 允许 – (破折号)在正则表达式中
- asp.net-mvc – 如何在ActionFilterAttribute AS
- asp.net – 渗透测试人员说.ASPXAUTH cookie是不
- asp.net – Orchard CMS是否支持移动呈现?
- 深入理解Asp.Net中WebForm的生命周期
- asp.net-mvc – 基于MVC的API – 如何实现OAuth?
- asp.net-mvc-3 – ASP.NET MVC 3书籍计划
热点阅读
