c# - 重载 ASP.NET MVC 操作

标签 c# asp.net asp.net-mvc

如何在 ASP.NET MVC 中重载操作,但支持 GET QueryString?我试图做这样的事情:

public JsonResult Find(string q)
{
    ...
}

public JsonResult Find(string q, bool isBlaBla)
{
    ...
}

但每当我访问 /controller/find?q=abc/controller/find?q=abc&isBlaBla=false 时,它都会抛出 System.Reflection。 AmbiguousMatchException.

如何解决这个问题?

最佳答案

您实际上不需要创建重载。您需要做的就是创建一个包含您期望的所有可能参数的单一操作方法,它会为您映射值(如果可能)。

public JsonResult Find(string q, bool isBlaBla)
{

}

您甚至可以使用 Optional Parameters and Name Arguments如果您使用的是 C# 4.0

关于c# - 重载 ASP.NET MVC 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3640427/

相关文章:

c# - 在内容资源上调用的 Application.GetResourceStream 仍然返回 null

c# - 在 C# 中将 PInvoke 与函数指针和委托(delegate)一起使用

asp.net - ASP Cookie "Object reference not set to an instance of an object"

asp.net - .NET MVC 3 (C#) 默认成员资格提供程序 - 如何设置?

c# - Asp.net c# Button 点击​​调用一个程序并且也在一个 target_blank 中打开

C# MVC Resourcefile 从变量中获取字符串

c# - 部署到 Azure 网站时,必须添加对 System.Runtime...的引用

asp.net-mvc - JSONIgnore 类上的数据注释

ASP.NET Razor Entity Framework 针对模型使用 Case 语句

c# - 如何在 Azure 应用服务中运行 .EXE