У меня есть пользовательский элемент управления ASP.NET, полностью реализованный в коде.Элемент управления имеет одно строковое свойство, и его декларативная разметка выглядит следующим образом:
<uc:MyControl ImageUrl="/Content/images/" runat="server" />
Скорее всего, фактическое объявление будет использовать синтаксис привязки данных следующим образом:
<uc:MyControl ImageUrl="<%# PageInfo.ImageUrl %>" runat="server" />
Теперь вот странная частьотносящийся к моему вопросу.Если я использую приведенный выше синтаксис, привязка данных не работает, и значение ImageUrl во время выполнения является строковым литералом того, что находится между кавычками.Однако, если я удаляю двойные кавычки, все работает как ожидалось:
<uc:MyControl ImageUrl=<%# PageInfo.ImageUrl %> runat="server" />
То же самое происходит и с двойными, и с одинарными кавычками.Я озадачен этим, и хотя код работает, он на самом деле не оптимален, так как помещение значений в кавычки является нормой, и подход к созданию привязки данных явно неортодоксален.
У всех есть идеи, почему это толькоработает без кавычек?