RedinterToAction在SurfaceController中无法正常工作?

时间:2014-12-08 11:41:12

标签: asp.net-mvc-4 umbraco umbraco7

我向SurfaceController的动作“提交”提交了一个表单。保存数据后,使用MVC RedirectToAction重定向到另一个动作'LeadContact',并将Id作为参数传递给它。在'LeadContact'模型正在填充并传递给'LeadContact'视图。

不确定我是否正确操作但是当'LeadContact'在浏览器中呈现时它会修改URL。浏览器显示类似http://name:50656/umbraco/Surface/HealthInsurance/LeadContact?leadOptionId=70的网址,而我希望它应该是

http://name:50656/HealthInsurance/LeadContact?leadOptionId=70

你能指导我能纠正吗?以下是我的代码:

 public ActionResult Submit(FormCollection form)
        {

            //Some logic and later redirect to another action 'LeadContact'             

return RedirectToAction("LeadContact", new { leadOptionId = _id}); 
         }


 public ActionResult LeadContact(int leadOptionId)

        {
           MyViewModel model = new MyViewModel();         

           //Lines of code to populate data into model   

            return View("LeadContact", model);
        }

感谢您的帮助和分享。

1 个答案:

答案 0 :(得分:0)

将以下重写规则添加到config \ UrlRewriting.config:

<add name="LeadContactRewrite"
  virtualUrl="^/HealthInsurance/LeadContact(.*)"
  rewriteUrlParameter="ExcludeFromClientQueryString"
  destinationUrl="~/umbraco/Surface/HealthInsurance/LeadContact?$1"
  ignoreCase="true" />

回收IIS,您应该可以转到http://name:50656/HealthInsurance/LeadContact?leadOptionId=70并获得所需的结果。

您还可以查看Custom MVC routing in Umbraco

相关问题