ASP.NET MVC“调用不明确”错误(System.IO.TextWriter.Write)

时间:2010-08-11 19:45:56

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

我在ASP.NET MVC2中创建一个动态CSS文件,现在我遇到了一个异常。一切都工作正常,但突然间我得到2个变量的错误消息:

  

以下方法或属性之间的调用不明确:'System.IO.TextWriter.Write(string,params object [])'和'System.IO.TextWriter.Write(char [])'

代码的一个例子是:

#pageMaster .CCResultsText2 { 
    font-size: <%= ViewData.Model.FontSize %>; 
    color: <%= ViewData.Model.FontColor %>; 
}

当我替换&lt;%= ViewData.Model.FontColor%&gt;时,此错误得到解决。与&lt;%Response.Write(ViewData.Model.FontColor); %GT;

似乎在某种程度上存在区分System.IO.TextWriter.Write方法的两种不同形式的问题,但我不确定除了写出Response.Write方法之外还能做些什么。

2 个答案:

答案 0 :(得分:15)

尝试将模型成员转换为特定类型,如:

#pageMaster .CCResultsText2 { 
    font-size: <%= (int)ViewData.Model.FontSize %>; 
    color: <%= (string)ViewData.Model.FontColor %>; 
}

这些类型只是我的猜测..将它投射到适当的类型当然;)

答案 1 :(得分:1)

我的问题是视图中的值是在基类中设置的,我忘了让新控制器从基本控制器继承。

ViewBag返回的结果空值产生了歧义。

按照其他答案中的描述添加类型转换将使错误消失,但它无法解决控制器中未正确设置值的基本问题。