2012-02-26 65 views
0

一個StaticItemTemplate控制我寫了下面的菜單:訪問從菜單項

<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> 

的SearchAddress菜單項的網址不能似乎找到了與它相連的文本框(ID「addressToSearch」)。

任何建議將受到歡迎。

+0

不知道你要完成什麼。如果您希望addressToSearch框的ID保持靜態,您可以將其添加到Textbox控件 - ClientIDMode =「Static」。 – jmaglio 2012-02-26 22:59:50

+0

我正在嘗試將地址輸入到'AddresstoSearch'到SearchAddress函數中。我試着將控件設置爲靜態,但沒有成功。 – toy4fun 2012-02-26 23:17:56

回答

0

我已經找到了答案:

<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屬性,尋找價值代替文本的。