0

これが私のフォームまたは私のフォームの例です。:

@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "indexForm" }))
{ 
<div>etc</div>
}

次に、このフォームを個別の時間に送信する JavaScript 関数があります。:

$("#indexForm").submit();

問題は、最初にアプリケーションにアクセスしたときの URL がこれであることです。:

http://myWebsite/myApplication/myController/myAction

フォームが JavaScript 経由で送信された後、ここに私の URL があります。:

http://myWebsite/myApplication/

ルーティングにより、問題なくインデックス アクションに移動できますが、その URL にコントローラーとアクションを含めたいと思っています。

フォーム送信後に可能ですか?

4

1 に答える 1

1

おそらくデフォルトのルートがあるため、フォームが送信された後の URL はmyWebsite/myApplication/です。

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

MVC で URL が生成されると、提供された値に基づいて URL を構築するためにルートが使用されます。指定された値がルートのデフォルト値と一致する場合、それらは不要であるため、URL には表示されません。ルートに値を表示したい場合は、デフォルトから削除してください。ただし、そうすると、 myWebsite/myApplication/へのリクエストでHomeコントローラーとIndexアクションが見つからなくなります。

于 2013-09-10T23:21:06.640 に答える