2013-06-04 42 views
0

如果我要求一个网址,如:/Offers/Create?Provider=Nicholas Associates&ProviderID=2&PlacementModal=1获取当前相对URL包括转义的查询字符串

在此请求的视图,是一种形式。我想要做的是确保我的表单操作值包含所显示的视图的URL,包括传递的参数。

因此,例如:

<form action="/Offers/Create?Provider=Nicholas Associates&ProviderID=2&PlacementModal=1">

我曾尝试:

@using (Html.BeginForm("Create" + Request.QueryString, "Manage", FormMethod.Post))

但它输出:

<form action="Offers/Create%3fProvider%3dNicholas%2520Associates%26ProviderID%3d2%26PlacementModal%3d1%26_%3d1370350965816">

如何Ç我阻止它逃离网址?

回答

0

如果您认为符合您的帖子行动(指的是形式的视图操作是Manage/Create和信件行动Manage/Create,你可以做

@using (Html.BeginForm()) 

的查询字符串将采取。

现在,如果你想要发布到另一个动作,你可以做

@{ var queryStringDictionary = new RouteValueDictionary(Request.QueryString.AllKeys.ToDictionary(key => key, key => (object) Request.QueryString[key])); } 

@using (Html.BeginForm("Create", "Offers",queryStringDictionary, FormMethod.Post)) 
+0

试过的行动变成了:?'<形式行动=“/信息/创建数= 4 & Keys = System.Collections.Generic.Dictionary%602%2BKeyCollection%5BSystem.String%2CSystem.Object%5D & Values = System.Collections.Generic.Dictionary%602%2BValueCollection%5BSystem.String%2CSystem.Object%5D“> ' – Cameron

+0

@Cameron嗯,我在一个工作项目中使用这个......奇怪。 –

+0

@Cameron我倒在我的答案ActionName和ControllerName,也许尝试编辑... –

相关问题