asp.net-mvc-3 – MVC3 Html.BeginForm – 在RouteValueDictiona
我有一个多步骤的设置过程,我想传递追加到URL的查询字符串参数,只要它们是相关的.
http://localhost:6618/Account/Profile?wizard=true&cats=dogs @using(Html.BeginForm()) 工作得很好.它产生:< form action =“/ Account / Profile?setup = true& amp; cats = dogs”method =“post”>即它将任何原始查询字符串参数传递给POST操作,然后在该Controller操作中,我可以通过添加到RouteValues和RedirectToResult来选择哪些相关的传递到我的下一步,或者必须添加. 但是,我需要为表单指定一个类来进行样式设置. 我试过了: @using(Html.BeginForm(“Profile”,“Account”,args,FormMethod.Post,new {@class =“mainForm”})) 产量: < form action =“/ Account / Profile?Count = 1& amp; Keys = System.Collections.Generic.Dictionary`2 + KeyCollection [System.String,System.Object]& amp; Values = System.Collections.Generic .Dictionary`2 + ValueCollection [System.String,System.Object]“class =”mainForm“method =”post“> (args由过滤器生成,是RouteValueDictionary).规范http://msdn.microsoft.com/en-us/library/dd505151.aspx表明您可以使用System.Web.Routing.RouteValueDictionary传递参数. 我想要的是< form action =“/ Account / Profile?setup = true& amp; cats = dogs”class =“mainForm”method =“post”> 我应该提一下,我宁愿不做一些事情,比如传递新的{key = value},因为有相当多的逻辑来确定我将传递给下一步的内容. 关于在这里做什么的任何建议? 我被这个看似简单的任务所困扰,我肯定错过了一些非常明显的东西. 解决方法
这是关键点.在这种情况下,请确保您使用的是BeginForm方法的correct overload: @using(Html.BeginForm( "Profile","Account",new RouteValueDictionary(new { @class = "mainForm" }) )) { ... } 注意最后一个参数?它必须是IDictionary< string,object>为了这个工作. 在你的例子中,它是this overload被拾取.但是,由于您为routeValues参数传递了RouteValueDictionary而不是匿名对象,因此它会搞砸. 因此,您应该将routeValues和htmlAttributes都作为字典或两者都作为匿名对象. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-2 – ASP.NET MVC 2多个PartialView Forms字段
- Asp.Net Cache缓存使用代码
- asp.net – 将自动Web测试集成到构建过程中
- asp.net-mvc-4 – 在asp.net MVC URL中重写或更改路由?
- asp.net – Isapi过滤器无法在IIS 7上运行(在IIS 6上运行)
- asp.net-mvc – 如何在MVC应用程序中使用RavenDb实现身份验
- asp.net-mvc – 为什么Chrome在ASP.NET MVC中提供文件时搜索
- asp.net – 离线使用谷歌地图
- asp.net-mvc – 使用JSON,JQuery向ASP.NET MVC Controller发
- asp.net-core – 在Asp.Net Core中,如何从正文中获取multip
- asp.net-mvc-4 – MVC4如何挂钩OnSessionStart事
- asp.net – IIS和线程
- asp.net-mvc – AspNet上的Kestrel vNext不提供索
- asp.net-mvc – 在ASP.NET MVC4中检测IE8
- Jquery easyui Tree的简单使用
- asp.net-mvc – MVC最后一次在向用户呈现之前更改
- asp.net-mvc – 如何动态添加到ASP.NET MVC Rout
- asp.net webapi UseOAuthBearerAuthentication v
- 代码重构之法——方法重构分析
- asp.net – 检测Internet Explorer浏览器版本问题