我刚开始 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。Portfolios 是控制器名称,而 getTradeContribs 是操作名称?如果没有,那么 getTradeContribs 是一种什么样的方法。
3) getTradeContribs 没有返回 ActionResult 为什么 4) ActionResult 的意义是什么?5) 为什么 id 作为查询字符串传递,其余数据作为 json 传递。它将如何工作?
请讨论这一点,因为我是 mvc 的新手