Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC-Html.BeginForm()。我是否可以回发到其他路由并保留现有查询字符串值?_Asp.net Mvc_Forms_Asp.net Mvc Routing - Fatal编程技术网

Asp.net mvc ASP.NET MVC-Html.BeginForm()。我是否可以回发到其他路由并保留现有查询字符串值?

Asp.net mvc ASP.NET MVC-Html.BeginForm()。我是否可以回发到其他路由并保留现有查询字符串值?,asp.net-mvc,forms,asp.net-mvc-routing,Asp.net Mvc,Forms,Asp.net Mvc Routing,我有一个只有帖子的动作,它有不同的路线。在我的表单中,我需要发布到它,但也要保留我当前拥有的querystring值 初始响应:/my/first/path/?val1=您好 需要发布到:/my/other/path/?val1=您好 当我指定路由时,它似乎只返回路由,而不附加原始页面的querystring值(原因很明显) 是否可以将querystring值干净地附加到表单标记的action属性中?谢谢。您正在尝试同时发布和获取。如果你想工作,你需要输入val1作为隐藏值。POST请求没有查询

我有一个只有帖子的动作,它有不同的路线。在我的表单中,我需要发布到它,但也要保留我当前拥有的querystring值

初始响应:/my/first/path/?val1=您好

需要发布到:/my/other/path/?val1=您好

当我指定路由时,它似乎只返回路由,而不附加原始页面的querystring值(原因很明显)


是否可以将querystring值干净地附加到表单标记的action属性中?谢谢。

您正在尝试同时发布和获取。如果你想工作,你需要输入
val1
作为隐藏值。POST请求没有查询字符串

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

您不能发布和保留查询字符串值。

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

这与您的要求不完全一样,但我很高兴这样做:

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


而是使用隐藏字段。我不明白您为什么特别需要它出现在查询字符串中。

对不起,我指的是Html.BeginRouteForm()。可以发送post并获取值。我能够创建一个包含querystring的自定义动作值,它们被很好地接受。生成的页面负责处理抓取post和/或get变量。