2010-11-24 9 views
0

私はコントローラの仕組みを理解しようとしています。明らかにページが最初にロードされると、ActionResult Index()が呼び出されます。しかし、コントローラ内の他の機能をどのように呼び出すのですか?ASP.NET MVC 2:コントローラ内の別の機能をHtml.ActionLinkにリンクしていますか?

Html.ActionLink("Click Me", "ControllerFunction")を使ってみましたが、「ControllerFunction」というページが見つかりました。

私ができることを望むのは、ビューデータを更新してページ(またはAjax)を更新するコントローラ内の関数を呼び出すことです。

これはどのように動作するはずですか?今コントローラ内でのみ有効な機能がIndex()

答えて

0

コントローラー:

public HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     return View(); 
    } 

    public ActionResult AjaxAction() 
    { 
     return View(); 
    } 
} 

とし、Index.aspxビューにAJAXリクエストの結果を格納するリンクと空のdivを含めることができます。

リンクをクリックすると

$(function() { 
    $('#ajaxtest').click(function() { 
     $('#result').load(this.href); 
     return false; 
    }); 
}); 

AJAX要求は、部分図AjaxAction.ascxをレンダリングし、その挿入思われる/home/ajaxlinkに送信されます:あなたはjavascriptの(私の場合はjqueryの)を高めるであろう

<%: Html.ActionLink("ajax test", "ajaxaction", null, 
    new { id = "ajaxtest" })%> 
<div id="result"></div> 

内容を結果divに追加します。

+0

しかし、コントローラ機能のポイントは何ですか?それがやっていることは、もう一度ビューを返すことです。私の例では、 "ajaxaction"に似たページを見つけようとしています... – dcolumbus

+0

このコントローラの機能(アクションと呼ばれる)は、データベースからデータをフェッチするリポジトリを使用し、ビューを完全に静的にしない限り、ビューを返す前に他の多くの処理を実行します。 –

0

ですので、あなたは明らかにMVCの基本を欠けている:)

はMVCにこの偉大な紹介を見てい:http://channel9.msdn.com/blogs/matthijs/aspnet-mvc-2-basics-introduction-by-scott-hanselman

+0

これに全く新しい、yup!私は仕事の必要性が切望しているので、このように学ばなければなりません...しかし、私は十分に喜んでいます!あなたが私に与えることができる情報は絶対に素晴らしいでしょう。ありがとう! – dcolumbus

関連する問題