ASP.NET MVC "Вызов неоднозначный" Ошибка (System.IO.TextWriter.Write)

Я создаю динамический файл CSS в ASP.NET MVC2, и теперь я встречаю исключение. Все работает нормально, но внезапно я получаю это сообщение об ошибке для двух переменных:

Вызов неоднозначен между следующими методами или свойствами: 'System.IO.TextWriter.Write(string, params object [])' и 'System.IO.TextWriter.Write(char [])'

Пример кода:

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

Эта ошибка решается, однако, когда я заменяю <% = ViewData.Model.FontColor% > с <% Response.Write(ViewData.Model.FontColor); % >

Кажется, что существует какая-то проблема, различающая две различные формы метода System.IO.TextWriter.Write, но я не совсем уверен, что я могу сделать, кроме того, выписать метод Response.Write.

Ответы

Ответ 1

Попробуйте применить свой член модели к определенному типу, например:

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

Типы - это только моя догадка. Приведите его к правильным типам курса;)

Ответ 2

Моя проблема заключалась в том, что значения в представлении устанавливались в базовом классе, и я забыл, что новый контроллер наследуется от базового контроллера.

Полученные нулевые значения, возвращаемые ViewBag, создавали неоднозначность.

FYI добавление типа cast, как описано в другом ответе, приведет к ошибке, но не решает основной проблемы, когда значения не были правильно установлены в контроллере.