Как я могу построить UserControl, который использует теги вместо атрибутов для установки свойств? - PullRequest
0 голосов
/ 21 августа 2011

У меня есть несколько разделов разметки в отчете, которые выглядят так:

<div class="report-section span-24 last">
    <h3 class="section-header">
        Municipal Valuation</h3>
    <p class="section-desc">
        <img src='<%= ResolveUrl("~/Images/info-icon.png")%>' class="left" alt="Section Description" />
        The <strong>Municipal Valuation</strong> is the valuation provided by the relevant
        municipality and represents the market value assessed for rates purposes as at the
        date of valuation.</p>
</div>

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

<lsReport:Section ID="reportDetails" runat="server" Title="Transfer Information">
    <Description>The <strong>Municipal Valuation</strong> is the valuation provided by the relevant
    municipality and represents the market value assessed for rates purposes as at the
    date of valuation.</Description>
</lsReport:Section>

, чтобы заголовок всегда был в <h3 class="section-header">, а в абзаце описания всегда было изображение и т. д. Как мне поступить?Я уже могу определить текст описания в атрибуте элемента управления, но некоторые описания длинные и содержат разметку.Я хотел бы знать, как установить свойство Description элемента управления, используя дочерний элемент Description элемента управления.

1 Ответ

2 голосов
/ 21 августа 2011

Я думаю, что вы можете выполнить то, что вы пытаетесь сделать, с помощью пользовательского шаблонного элемента управления.

<uc:lstReport id="report1" Title="somevalue" runat="server">    
      <Description>    
           Some custom content you want rendered in the desc.    
      </Description>    
      <ItemTemplate>    
           Here is a calendar: <asp:calendar id="cal1" runat="server" />    
      </ItemTemplate>    
   </uc:lstReport>

Проверьте эту ссылку как стартер.

...