Fra*_*dal 5 c# asp.net-mvc jquery overloading asp.net-mvc-2
我通过jquery post方法调用重载的C#函数时遇到问题.
我在c#中有两个函数
string func(string a)
string func(string a, string b)
Run Code Online (Sandbox Code Playgroud)
现在当我调用jquery中有一个参数的函数时,就像这样
var url = '<%= Url.Action("func", "Team") %>';
$.post(url, { a: "test" }, function (data) {
});
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误
The current request for action 'func' on controller type 'TeamController' is
ambiguous between the following action methods
Run Code Online (Sandbox Code Playgroud)
我想知道如何调用这些重载函数.我用C#使用Asp.Net MVC 2
ASP.NET MVC通常不允许动作重载.如果你想根据你发送给服务器的内容做不同的事情,那么你应该考虑在两个具有不同名称的功能之间分别处理(显然不同的动作名称和不同的URL).如果你想在代码中保持重载,那么你仍然应该使用[ActionName("%some_name_here%")]赋予它们不同名称的属性来装饰这些函数.
如果你想保持单一动作名称,然后创建了有两个参数的"前端"的行动a,并b在行动中的代码检查,如果有b==null.如果b为null,则调用func(a)重载,否则调用func(a,b).
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |