mvc3并非所有代码路径都返回一个值

时间:2012-05-30 03:44:49

标签: asp.net-mvc-3

感谢您阅读本文。

编译时遇到此错误:

' ASP.Helpers.Message.DisplayMessage(string,string)':并非所有代码路径都返回值

我在App_Code \ Helpers \ Message.cshtml中有一个帮助类,这是到目前为止的内容:

@functions{
 public static string DislayMessage(string x, string y)
  {
    IF ((x == "yes") && (y == "yes"))
     {
       return ("something");
     }
  }
}

在另一个页面中,它被称为:

@{Helpers.Message.DisplayMessage("yes", "yes")}

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

如果条件为假,您仍需要返回一些内容。您可能希望在函数末尾返回null或其他内容,以便在所有情况下都返回一些内容。

public static string DislayMessage(string x, string y)
{
    IF ((x == "yes") && (y == "yes"))
    {
        return ("something");
    }

    // fallback case
    return string.Empty;
}

答案 1 :(得分:1)

因为只有当您的IF条件为真时,您的方法才会返回 并且您提到您的函数将返回一个字符串(您的返回类型)。你最好总是添加一些东西来回归。

public static string DislayMessage(string x, string y)
{
    If ((x == "yes") && (y == "yes"))
     {
       return "something";
     }
     return "";
 }