Доступ к элементу управления StaticItemTemplate из MenuItem - PullRequest
0 голосов
/ 27 февраля 2012

Я написал следующее меню:

<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">  
  <Items>  
    <asp:MenuItem NavigateUrl="javascript:SetRoadMap();" Text="Road Map" Value="SetRoadMap"/>  
    <asp:MenuItem NavigateUrl="javascript:SetHybridMap();" Text="Hybrid Map" Value="SetHybridMap" />  
    <asp:MenuItem NavigateUrl="javascript:SearchAddress(document.getElementById('addressToSearch').text);" Text="Search Address" Value="searchAddress" />  
  </Items>  
  <StaticItemTemplate>  
    <asp:Label runat="server" Height="20px" Text='<%# Eval("Text") %>' />  
    <asp:TextBox ID="addressToSearch" runat="server" Height="15px" Width="250px" Visible='<%# ((string)Eval("Value") == "searchAddress") %>' />  
  </StaticItemTemplate>  
</asp:Menu>

Кажется, что URL элемента меню SearchAddress не может найти текстовое поле (id 'addressToSearch'), прикрепленное к нему.

Любой совет будет приветствоваться.

1 Ответ

0 голосов
/ 27 февраля 2012

Я нашел ответ:

<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">  
  <Items>  
    <asp:MenuItem NavigateUrl="javascript:SetRoadMap();" Text="Road Map" Value="SetRoadMap"/>  
    <asp:MenuItem NavigateUrl="javascript:SetHybridMap();" Text="Hybrid Map" Value="SetHybridMap" />  
    <asp:MenuItem NavigateUrl="javascript:SearchAddress(document.getElementById('addressToSearch').text);" Text="Search Address" Value="searchAddress" />  
  </Items>  
  <StaticItemTemplate>  
    <asp:Label runat="server" Height="20px" Text='<%# Eval("Text") %>' />  
    <asp:TextBox ID="addressToSearch" runat="server" ClientIDMode="Static" Height="15px" Width="250px" Visible='<%# ((string)Eval("Value") == "searchAddress") %>' />  
  </StaticItemTemplate>  
</asp:Menu>  

Я должен был добавить свойство ClientIDMode и искать Значение вместо Текст .

...