2010-09-16 25 views
2

我有一个仅具有不同路径的仅发布后操作。在我的表单中,我需要发布到它,但也保留我现在有的查询字符串值。ASP.NET MVC - Html.BeginForm()。我可以回发到不同的路线并保留现有查询字符串值吗?

初始响应:/我的/第一/路/ VAL1 =你好

需要邮寄到:??/我的/其它/路/ VAL1 =你好

当我指定的路线看来,它当然只返回路由并且不附加我的原始页面的查询字符串值(出于显而易见的原因)。

是否有可能干净地追加querystring值到我的表单标签的动作属性?谢谢。

+0

对不起,我的意思是Html.BeginRouteForm()。 – 2010-09-16 14:07:41

回答

1

你问不完全是,但我很高兴这样做:

html.BeginForm( C => c.SomeAction(model.SomeValue,model.OtherValue,anyDefaultValueIWant) )

改为使用隐藏字段。我不明白为什么你特别需要它在查询字符串中。

1

你正在尝试POST和GET在同一时间。如果你想让你工作,你需要输入val1作为隐藏值。 POST请求没有查询字符串。

<input type="hidden" name="val1" value="hello"/> 
+1

可以发送帖子并获取值。我能够制作一个包含querystrings的自定义动作值,并且它们被接受的很好。结果页面负责处理抓取帖子和/或获取变量。 – 2010-09-16 14:14:20

1

您不能发布并保留查询字符串值。
如果您需要在发布时保留查询字符串值,我会建议将它们填充到表单中的隐藏字段中。

相关问题