Почему свойство базы данных ASP.NET usercontrol работает только без кавычек? - PullRequest
0 голосов
/ 05 августа 2011

У меня есть пользовательский элемент управления ASP.NET, полностью реализованный в коде.Элемент управления имеет одно строковое свойство, и его декларативная разметка выглядит следующим образом:

<uc:MyControl ImageUrl="/Content/images/" runat="server" />

Скорее всего, фактическое объявление будет использовать синтаксис привязки данных следующим образом:

<uc:MyControl ImageUrl="<%# PageInfo.ImageUrl %>" runat="server" />

Теперь вот странная частьотносящийся к моему вопросу.Если я использую приведенный выше синтаксис, привязка данных не работает, и значение ImageUrl во время выполнения является строковым литералом того, что находится между кавычками.Однако, если я удаляю двойные кавычки, все работает как ожидалось:

<uc:MyControl ImageUrl=<%# PageInfo.ImageUrl %> runat="server" />

То же самое происходит и с двойными, и с одинарными кавычками.Я озадачен этим, и хотя код работает, он на самом деле не оптимален, так как помещение значений в кавычки является нормой, и подход к созданию привязки данных явно неортодоксален.

У всех есть идеи, почему это толькоработает без кавычек?

1 Ответ

0 голосов
/ 05 августа 2011

Я обнаружил проблему ... это было связано с файлом (возможно, с кодировкой, но не уверен).По прихоти я скопировал код в новый файл и удалил оригинал.Теперь привязка данных работает с кавычками, как и должно.

...