小编Eri*_*ica的帖子

MVC3 Html.BeginForm - 在RouteValueDictionary失败时传递参数

我有一个多步骤的设置过程,我想传递附加到URL的查询字符串参数,只要它们是相关的.

HTTP://本地主机:6618 /帐号/配置文件向导=真猫=狗

@using( Html.BeginForm() )

工作得很好.它产生了:<form action="/Account/Profile?setup=true&amp;cats=dogs" method="post">即它将任何原始查询字符串参数传递给POST操作,然后在该Controller操作中,我可以通过添加到RouteValues和a来选择哪些相关的传递到我的下一步,或者必须添加RedirectToResult.

但是,我需要为表单指定一个类来进行样式设置.

我试过了:

@using( Html.BeginForm( "Profile", "Account", args, FormMethod.Post, new { @class = "mainForm" } ) )

产量:

<form action="/Account/Profile?Count=1&amp;Keys=System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D&amp;Values=System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D" 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">

我应该提一下,我宁愿不做一些像传入这样的事情new {key = value},因为有相当多的逻辑来确定我将传递给下一步的内容.

关于该做什么的任何建议?

我被这个看似简单的任务所困扰,我肯定错过了一些非常明显的东西.

html-helper asp.net-mvc-3

7
推荐指数
1
解决办法
3万
查看次数

标签 统计

asp.net-mvc-3 ×1

html-helper ×1