タイトルにあるとおりです。I ビューからコントローラ メソッドを呼び出す最良の方法は何ですか。ViewBag、HTMLHelper ...?
3 に答える
0
それを ActionResult にするだけです。また、Ajax POST を使用している場合は、アクションを HttpPost 属性でマークする必要があります。これを試して:
[HttpPost]
public ActionResult test()
{
return Content("It works");
}
view.cshtml に javascript タグを追加します。
// Sample Ajax Request.
$.ajax({
url: '@Url.Action("test", "Home")',
data: {dealerID: dealerID},
type: 'POST',
success: function(data) {
alert(data);
}
});
ノート:
- Url.Action にはコントローラー/アクション パラメーターがあります。最初に「ActionName」、次に「ControllerName」にする必要があります。
- Url.Action の場合、コントローラー クラスが「HomeController」の場合、必要なのは「Home」だけです。
- リクエストの成功がアラートを表示するときの JQuery オプション。-- 成功するはずです: function(data) {}.
于 2013-07-26T07:16:49.833 に答える
0
@Html.ActionLink("LinkText", "ActionName", "ControllerName")
于 2013-07-26T07:19:53.580 に答える
0
ユーザーがページを要求すると、Web ページは最初にルートを使用して適切なコントローラーを見つけます。次に、すべてのサーバーサイド C# コードを完成させます。次に、html テンプレートを埋めて、html をユーザーに送信します。サーバー上のビューからコントローラーを呼び出すことはできません。ただし、ビュー ページがクライアント ブラウザーで実行されている場合、サーバーに対して ajax 呼び出しを行い、データをコントローラーに送り返すことができます。
ここに例があります
http://www.codeproject.com/Articles/41828/JQuery-AJAX-with-ASP-NET-MVC
ブラウザーが実行する手順を絞り込みましょう。
ユーザーリクエストページ
/ホーム/索引
- ASP MVC サーバーは、要求をルートに送信します。デフォルト ルートは global.aspx ファイルにあります。
- ルーティング呼び出しの適切なコントローラー/アクション。
- アクションはサーバー コードを実行し、必要に応じてデータをビューに送信します。
- ビュー テンプレートが入力され、HTML/css/javascript がクライアントに送信されます。
- ブラウザでページをロードした後、またはユーザーがクリックした後、ajax リクエストをサーバーに送り返すことができます
于 2013-07-26T04:55:21.697 に答える