从我的表面控制器中,我希望将当前查询字符串附加到重定向操作。我似乎无法找到任何适当的方法来做到这一点。
表单从中发送的页面包含一个选项卡,该选项卡通过将查询字符串附加到URL来显示。表单是从此选项卡提交的,我希望感谢信息显示在同一个选项卡上。
查询字符串是#inquery
来自我的表面控制器:
[HttpPost]
public ActionResult HandleFormSubmit(InquiryFormModel model)
{
if (!ModelState.IsValid)
{
return CurrentUmbracoPage();
}
// Mail date goes here...
TempData["success"] = true;
return RedirectToCurrentUmbracoPage();
}
正如您所猜测的那样,我希望将#inquery附加到RedirectToCurrentUmbracoPage()方法返回的URL中。
谢谢!
答案 0 :(得分:0)
返回当前页面的位置,添加一个包含查询字符串的viewbag对象。将此字段存储在HTML中的隐藏输入中,并对其进行客户端javascript测试,并将其附加到URL(如果存在)。
if (!ModelState.IsValid)
{
ViewBag.URLString = "stringhere"
return CurrentUmbracoPage();
}
然后在你的HTML中。
<input id="URLString" type="hidden" />
在你的javascript中(如果你使用的是jQuery)
$(document).ready(function(){
window.location.href += $("#URLString").val();
});
我还没有完全限定这段代码,所以它不能正常工作,但它还有更多可以让你有所了解。