2011-07-17 4 views
0

저는 ASP : Menu.SelectedValue 속성을 사용하려고했으나 다른 사람이 이것을 사용하기 전에 읽으십시오. 여기에 코드가 있습니다. ASP : Menu.SelectedValue가 작동하지 않습니다.

<asp:Menu ID="Menu1" runat="server" BackColor="#B5C7DE" 
      DynamicHorizontalOffset="2" Font-Names="Verdana" Font-Size="0.8em" 
      ForeColor="#284E98" onmenuitemclick="Menu1_MenuItemClick1" 
      StaticSubMenuIndent="10px" Visible="False"> 
      <DynamicHoverStyle BackColor="#284E98" ForeColor="White" /> 
      <DynamicMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> 
      <DynamicMenuStyle BackColor="#B5C7DE" /> 
      <DynamicSelectedStyle BackColor="#507CD1" /> 
      <Items> 
       <asp:MenuItem Selectable="False" Text="Analysis" Value="Analysis"> 
        <asp:MenuItem Selectable="False" Text="Descriptive" Value="Descriptive"> 
         <asp:MenuItem Text="Mean" Value="Mean"></asp:MenuItem> 
         <asp:MenuItem Text="Median" Value="Median"></asp:MenuItem> 
         <asp:MenuItem Text="Mode" Value="Mode"></asp:MenuItem> 
        </asp:MenuItem> 
       </asp:MenuItem> 
      </Items> 
      <StaticHoverStyle BackColor="#284E98" ForeColor="White" /> 
      <StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /> 
      <StaticSelectedStyle BackColor="#507CD1" /> 
</asp:Menu> 

내가 선

lblUpload.Text = Menu1.SelectedItem.Text; 
가시와 작업 라벨에 출력을 테스트 할 수

하지만 아무것도 반환하지 않습니다에 추가

protected void Menu1_MenuItemClick(object sender, MenuEventArgs e) 
     { 
      MenuItem selectedItem = Menu1.SelectedItem; 
      lblUpload.Text = Menu1.SelectedItem.Text; 

      if (Menu1.SelectedItem.Text == "Mean") 
      { 
       lblSet.Visible = true; 
       DropDownList1.Visible = true; 
       btnCalculate.Visible = true; 
      } 
     } 

뒤에 코드입니다. 누구든지이 문제를 볼 수 있습니까? 나는 또한 테스트를 거쳤습니다.

lblUpload.Text = SelectedItem.Text/.value; 
lblUpload.Text = Menu1.SelectedItem.Value; 
lblUpload.Text = Menu1.SelectedItem.ValuePath; 

어쨌든 레이블에 영향을주지는 않습니다. 이 컨트롤에 일반적으로 문제가 있거나 명백한 실수가 누락되었습니다. 의견 감사 감사합니다.

+0

이 페이지에서 AJAX를 사용하고 있습니까? 모든 것이 올바르게 보이지만 업데이트가 렌더링되지 않으면 AJAX가 일반적으로 범인입니다. – rkw

답변

0

을보십시오.

I Menu1은 가시성을 변경해야합니다. 어떻게하는지 보여주는 코드를 제공하십시오.

편집 : 작은 조각으로 문제를 무너 뜨리는

시도 :

  1. 문제는 오류가
  2. 당신은 문제가있을 수 있습니다 선택한 메뉴 항목에 액세스하려고 가지고 수 있습니다 lblUpload에 선택된 항목 표시

가장 좋은 방법은 Menu1_MenuItemClick에 중단 점을 설정하고 F5를 눌러 디버깅을 시작한 다음 거기에 Menu1.SelectedItem.Text보세요.

+0

이것은 다른 클릭 이벤트가 만들어진 몇 가지 이유, Menu1_MenuItemClick 및 Menu1_MenuItemClick1thanks에 감사드립니다. – user123

0

이 즉시 당신이 메뉴 1 표시하고 = "Menu1_MenuItemClick을"onmenuitemclick을 = "Menu1_MenuItemClick1을"onmenuitemclick의 변화에 ​​따라 작동

lblUpload.Text = e.Item.Text; 
+0

동일한 결과, 정말로 저를 엉망으로 만듭니다. 이 방법으로 내 레이블을 볼 수 없습니까? 그러나 그들은 다른 버튼 클릭 이벤트 내에서 수정되었습니다. – user123