2013-10-17 58 views
0

我正在使用asp.net和c#。我有兩個圖像按鈕:打開和刪除。 默認情況下,它們被禁用,即imgOpen.Enabled = false; imgDelete.Enabled = false;。 我有一個表格顯示搜索結果的GridView。 GridView包含一個單選按鈕,選中時應該打開並刪除圖像按鈕。 如果我不會使用ajax更新面板,那麼每次我選擇一個單選按鈕我的頁面重新加載,這是相當令人不安和不友好。在asp.net中的Ajax更新面板中使用AsyncPostBackTrigger時,未啓用ImageButton

<asp:TemplateField> 
    <ItemTemplate> 
      <asp:UpdatePanel ID="updateRadioButton" runat="server"> 
       <ContentTemplate> 
        <asp:RadioButton ID="rdoBtnFileOption" runat="server" OnCheckedChanged="rdoBtnFileOption_CheckedChanged" AutoPostBack="true" /> 
       </ContentTemplate> 
       <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="rdoBtnFileOption" EventName="CheckedChanged" /> 
       </Triggers> 
      </asp:UpdatePanel> 
    </ItemTemplate> 
</asp:TemplateField> 



protected void rdoBtnFileOption_CheckedChanged(object sender, EventArgs e) 
    { 
     imgOpen.Enabled = true; 
     imgDelete.Enabled = true; 

     RadioButton curretnRdo = sender as RadioButton; 
     GridViewRow currentRow = (GridViewRow)curretnRdo.NamingContainer; 
     int index = currentRow.RowIndex; 
     try 
     { 
      foreach (GridViewRow grv in grdSearchResults.Rows) 
      { 
       if (grv.RowType == DataControlRowType.DataRow && grv.RowIndex != index) 
       { 
        RadioButton rdo = new RadioButton(); 
        rdo = (RadioButton)(grv.FindControl("rdoBtnFileOption")); 
        rdo.Checked = false; 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      form.MessageBox.Show(ex.Message, "Error", form.MessageBoxButtons.OK, form.MessageBoxIcon.Error); 
     } 

    } 

這兩條線對我不起作用。

imgOpen.Enabled = true; 
imgDelete.Enabled = true; 

請建議任何方法。 我希望我很清楚。

回答

0

對於使用AsyncPostBack,內容應該是在更新面板還。

你可以使用另一個Asp:UpdatePanel和UpdateMode =「Always」將你的圖像放在裏面。

<asp:UpdatePanel ID="UP1" runat="server" UpdateMode="Always"> 
      <ContentTemplate> 
       <asp:ImageButton ID="imgOpen" runat="server" ImageUrl="" Visible="false" AlternateText="this is Open Image" /> 
       <asp:ImageButton ID="imgDelete" runat="server" ImageUrl="" Visible="false" AlternateText="this is Delete Image" /> 
      </ContentTemplate> 
</asp:UpdatePanel> 

願這幫助你。

+0

這有助於..感謝您的快速回復。 –

1

請嘗試以下

包裝你imgDelete與另一UpdatePanel並設置UpdateMode=Conditional,並設置觸發

<asp:UpdatePanel ID="updateRadioButton" UpdateMode="Conditional" runat="server"> 
    <ContentTemplate> 
    <asp:Image ID="imgOpen" runat="server"/> 
    <asp:Image ID="imgDelete" runat="server"/> 
    </ContentTemplate> 
    <Triggers> 
    <asp:AsyncPostBackTrigger ControlID="rdoBtnFileOption" 
     EventName="CheckedChanged" /> 
    </Triggers> 
</asp:UpdatePanel> 

set UpdateMode="Always" and No Triggers

+0

我想用你的解決方案強調兩點:1.我的圖像按鈕位於標題部分,我無法保持我的單選按鈕。即使我將這些圖像按鈕更新面板錯誤生成說'ControlID =「rdoBtnFileOption」 '。 2.單選按鈕更新面板中的'UpdateMode ='條件'''可以啓用單選按鈕的異常行爲,如多選。這不是預期的。謝謝。 –

+0

@AjayVerma,是的請 –

+0

這有助於..感謝您的快速回復。 –

相關問題