私はMVCを始めたばかりなので、多くの混乱があります。asp.net webformプロジェクトでjqueryによってサーバー側関数を呼び出すときは常に、そのメソッドは静的である必要があり、webmethod属性で装飾されている必要があります。だから私はそれがMVCの場合にも同じルールが適用されることを知りたいです。
そのためのコードを入手しましたが、テストしませんでした。
クライアント側の方法
function getTradeContribs(id,pfid, nodedates) {
var data = {};
data.portfolioId = pfid;
data.nodedates = nodedates;
$.ajax({
type: "POST",
url: "/Portfolios/getTradeContribs/"+id,
dataType: "json",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
success: parseTradeContribs,
error: function (error) {
alert("failed in opening XML file !!!");
}
});
}
サーバー側の方法
public string getTradeContribs(int id,string portfolioId, string nodedates)
{
string jsonTest = @" {""nodedates"": ""date"":""01/01/2012""}";
return jsonTest;
}
上記のコードから、私はいくつかの質問があります1)mvcに存在するコントローラーメソッドのタイプ2)url: "/ Portfolios / getTradeContribs"、それはどのようなURLですか。ポートフォリオはコントローラー名であり、getTradeContribsはアクション名ですか?いいえの場合、getTradeContribsはどのようなメソッドです。
3)getTradeContribsがActionResultを返さない理由4)ActionResultの重要性は何ですか?5)idがクエリ文字列として渡され、残りのデータがjsonとして渡される理由。それはどのように機能しますか?
私はMVCを初めて使用するため、この点について話し合ってください