string.IsNullOrEmpty(string)'有一些无效的参数

时间:2010-11-18 21:42:41

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

我将MVC 3.5转换为MVC2 4.0,得到错误'string.IsNullOrEmpty(string)'的最佳重载方法匹配有一些无效的参数 这是我的代码:

<% if (this.Model.VisitId == 0) { %>
        mustSave = true;
    <% } else { %>
        mustSave = false;
    <% } %>
    <% if (String.IsNullOrEmpty(Html.ValidationSummary())) { %>
        dataChanged = false;
    <% } else { %>
        dataChanged = true;
    <% } %>

提前致谢

4 个答案:

答案 0 :(得分:7)

在.net 4.0中。 ValidationSummary returns MvcHtmlString不是string和3.5一样。

答案 1 :(得分:7)

Html.ValidationSummary()返回MvcHtmlString,而不是普通字符串。所以,试试这个:

<% if (MvcHtmlString.IsNullOrEmpty(Html.ValidationSummary())) { %>

答案 2 :(得分:0)

在新MVC中,Html.ValidationSummary()返回MvcHtmlString,而不是普通字符串。您可以使用ValidationSummary()。ToString()或ToHtmlString()使其成为一个字符串。

答案 3 :(得分:0)

谢谢各位。当我遇到同样的错误时,这个话题帮助了我:

"Message":"The best overloaded method match for 'string.IsNullOrEmpty(string)' has some invalid arguments","Data":null,"InnerException":null,"HelpURL":null

碰巧我将 a dynamic object 传递给 string.IsNullOrEmpty(),其中参数在运行时的类型为 JValue 而不是 string。所以我必须首先将参数显式转换为字符串:

var isValid = !string.IsNullOrEmpty(obj.Value);

与 MvcHtmlString 类似。