我已经挣扎了好几天了,没有任何成功。
父方法,返回一个视图:
public ActionResult ContactHome(int currentTab = 0)
{
IContactPage content = this.FauxBouchonContactPage();
Presentation.XXX.Logic.Models.CustomerCare.ContactHome model = new Presentation.XXX.Logic.Models.CustomerCare.ContactHome(content, currentTab);
return this.View(VIEW_CONTACT_HOME, model);
}
查看代码:
@switch (Model.CurrentTab) {
case (int)Common.XXX.Enums.ContactPageType.BlockType: @Html.Partial(Presentation.XXX.Logic.Controllers.CustomerCareController.VIEW_CONTACT_CHOSETYPE, new Presentation.XXX.Logic.Models.CustomerCare.ContactType()); break;
case (int)Common.XXX.Enums.ContactPageType.BlockComplaint: @Html.Partial(Presentation.XXX.Logic.Controllers.CustomerCareController.VIEW_CONTACT_RECLAIM, new Presentation.XXX.Logic.Models.CustomerCare.ContactReclaim()); break;
case (int)Common.XXX.Enums.ContactPageType.BlockQuestion: @Html.Action(Presentation.XXX.Logic.Controllers.CustomerCareController.ACTIONQUESTION, Presentation.XXX.Logic.Controllers.CustomerCareController.CONTROLLERNAME, new { isPost = false }); break;
// others case
当在显示视图之前需要一些操作时,我调用 Html.Action 而不是 Html.Partial,这里没有问题。
模式如下:
- 调用第一个联系人类型,一个带有单选按钮的部分视图,用于选择联系人或投诉。
- 然后显示局部视图联系人或投诉。
问题如下,当访问视图contactType时,这是我得到以下url的顺序的第一个部分视图: http://xxx.com/fr/CustomerCare/ContactHome?currentTab=1
女巫是我想要的,但是当访问问题或投诉时,网址是:
http://xxx.com/CustomerCare/ChooseContactType
将此 url 粘贴到新选项卡中时,我会收到 404 错误,因为没有为我的局部视图定义路由。
而不是http://xxx.com/CustomerCare/ChooseContactType
我想http://xxx.com/fr/CustomerCare/ContactHome?currentTab=3
在 url 中显示。
怎样才能做到这一点?或者修复我的 404 错误。如果需要,我可以粘贴更多代码。