0

以下のコードの背後にあるエラーが何であるかわかりません。キャンセルボタンがクリックされたときにアプリケーションの詳細ページからイベントのリストを表示するメインページに戻るだけです。現在、詳細ページから[キャンセル]ボタンをクリックすると、URLはsampleurl:2988 / Event / 330ではなくsampleurl:2988 / Event/Indexになります。これについての助けは大歓迎です。

メインページのURL:sampleurl:2988 / Event / 330

詳細ページ:sampleurl:2988 / Event / 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');
});
4

1 に答える 1

1

id=330リターン URL を正しく生成できるように、最初のページにあった を詳細ページに渡す必要があります。また、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. ユーザーが [キャンセル] ボタンをクリックすると、元のページに戻ります
于 2012-06-22T08:53:57.507 に答える