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, как описано в другом ответе, приведет к ошибке, но не решает основной проблемы, когда значения не были правильно установлены в контроллере.