2014-09-18 6 views
-1

У меня возникла странная проблема в формах asp.net. Я пытаюсь сделать кнопку невидимой/неактивной, но ни один из моих кодов не работает в любой ситуации. Он остается видимым/активным.Почему кнопка asp.net не скрывается?

<asp:Button ID="btnPrintEditedSms" ValidationGroup="Complaints" runat="server" CssClass="btn btn-success" 
      OnClick="btnPrintEditedSms_Click" Text="Send" /> 

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

protected void GridViewAllSms_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     BtnPrintEditedSms.Visible = false; //this doesn't work 
     BtnPrintEditedSms.Enabled = false; //this also 
     txtComplainant.Visible = true;  //this works 

    } 

Он находится в панели Update:

<asp:UpdatePanel ID="updGridViewSMS" runat="server" UpdateMode="Conditional"> 
      <ContentTemplate> 
      <label><b>Search By Date Range</b></label> 
      <asp:Label ID="lblDateFrom" runat="server" Text="From"></asp:Label> 
      <asp:TextBox ID="txtFromDate" runat="server" ></asp:TextBox>      
      <asp:CalendarExtender ID="CalendarExtenderFromDate" Format="dd/MMM/yyyy" TargetControlID="txtFromDate" runat="server"> 
      </asp:CalendarExtender> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" 
           ControlToValidate="txtFromDate" Display="None" ErrorMessage="" 
           ForeColor="Red" > 
      </asp:RequiredFieldValidator> 
      <asp:Label ID="lblDateTo" runat="server" Text="To"></asp:Label> 
      <asp:TextBox ID="txtToDate" runat="server"></asp:TextBox> 
      <asp:CalendarExtender ID="CalendarExtenderToDate" Format="dd/MMM/yyyy" TargetControlID="txtToDate" runat="server"> 
      </asp:CalendarExtender> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" 
           ControlToValidate="txtToDate" Display="None" ErrorMessage="" 
           ForeColor="Red" > 
      </asp:RequiredFieldValidator> 
      <asp:Button ID="btnSearchByDate" CssClass="btn btn-success" runat="server" Text="Search" 
         ClientIDMode="Static" OnClick="btnSearchByDate_Click" /> 
      &nbsp; 
      <asp:Button ID="btnEdit" CssClass="btn btn-success" runat="server" Text="Edit" 
         ClientIDMode="Static" OnClick="btnEdit_Click" /> 
</asp:UpdatePanel> 
+4

Ваша кнопка ID является 'btnSend', не' BtnPrintEditedSms'? – DavidG

+0

какую кнопку вы хотите скрыть? – Neel

+1

Если вы ошибочно положили btnSend здесь, то проверьте, что ваша кнопка находится в UpdatePanel? –

ответ

0

попробуйте это

protected void GridViewAllSms_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     BtnPrintEditedSms.Visible = false; //this doesn't work 
     BtnPrintEditedSms.Enabled = false; //this also 
     txtComplainant.Visible = true;  //this works 
     Updatepanel1.Update(); 
    } 

или если вы не хотите, чтобы установить ваш режим обновления установлен условный затем установить его всегда как

<asp:UpdatePanel ID="Updatepanel1" runat="server" UpdateMode="Always"> 
+0

Я пробовал, но без эффекта –

Смежные вопросы