重定向回主页会导致错误

时间:2012-06-22 08:46:49

标签: asp.net-mvc-3 asp.net-mvc-routing

我不知道下面代码背后的错误是什么,我想要的是回到主页面,当点击取消按钮时,该主页面显示应用程序详细信息页面中的事件列表。现在,当我从详细信息页面点击取消按钮时,网址为sampleurl:2988 / Event / Index而不是sampleurl:2988 / Event / 330。对此的任何帮助都非常感谢。

主页网址: SAMPLEURL:2988 /事件/ 330

详情页面: SAMPLEURL:2988 /活动/ EditEventDetails / 3

这是路线设置。

routes.MapRoute(
                "Event", // Route name
                "Event/{id}", // URL with parameters
                new { controller = "Event", action = "Index", id = 0 } // Parameter defaults
            );

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Event", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

取消按钮用于返回主页面:

<input type="button" id="btnCancel" url="@Url.Action("Index", "Event", new { id = Model.EM_AID })" value="Cancel" class="button cancelbutton"/>

Jquery代码:

$("#btnCancel").click(function () {
    window().location.href =  $(this).attr('url');
});

1 个答案:

答案 0 :(得分:1)

您需要将第一页中显示的id=330传递到您的详细信息页面,以便您可以正确生成返回网址。你也可以使用ActionLink,不需要使用javascript:

@Html.ActionLink(
    "Cancel",                               // linkText
    "Index",                                // action
    "Event",                                // controller
    new { id = Model.IdFromTheFirstPage },  // routeValues
    new { @class = "cancelbutton" }         // htmlAttributes
)

所以这是工作流程:

  1. 用户访问/Event/330并点击详细信息链接以编辑特定活动的详细信息
  2. 用户被重定向到/Event/EditEventDetails/3?IdFromTheFirstPage=330
  3. 用户点击“取消”按钮并返回原始页面