2017-08-04 26 views
0

以下のコードで変更するasyncPostBackTrigger to PostBackTrigger全体ポストバックを引き起こします。更新パネルが機能しないチェックボックス

しかし、私たちがトリガーをasyncPostBackTriggerとして使用すると、以下のコードはまったく何もしません。

私が間違っていることについてのご意見はありますか?

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <asp:ScriptManager ID="ScriptManager1" runat="server" /> 
      <asp:UpdatePanel runat="server" ID="UpdatePanel_1" > 

       <ContentTemplate> 
        <asp:CheckBox ID="chkNotKnown" runat="server" AutoPostBack="True" 
            Text="(Not Known)" OnCheckedChanged="chkNotKnown_CheckedChanged"/> 
       </ContentTemplate> 

       <Triggers> 
        <asp:asyncPostBackTrigger ControlID="chkNotKnown"/> 
       </Triggers> 

      </asp:UpdatePanel> 

     <asp:TextBox ID="txtDrCode" runat="server" OnFocus="this.style.borderColor='red'" OnBlur="this.style.borderColor=''"></asp:TextBox> 
    </form> 
</body> 

</html> 

Partial Class _Default 
    Inherits System.Web.UI.Page 
    Protected Sub chkNotKnown_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles chkNotKnown.CheckedChanged 
     With txtDrCode 
      If chkNotKnown.Checked Then 
       .Text = "Not Known" 
       .Enabled = False 
      Else 
       .Text = "" 
       .Enabled = True 
      End If 
     End With 
    End Sub 
End Class 

答えて

1

chkNotKnowntxtDrCodeがそれの外側であるが、UpdatePanelの内部にあります。またchkNotKnownasyncPostBackTriggerと指定します。これは既にUpdatePanelに存在するものと同じです。

だから、どちらか

<Triggers> 
    <asp:PostBackTrigger ControlID="chkNotKnown" /> 
</Triggers> 

かのUpdatePanel

<asp:UpdatePanel runat="server" ID="UpdatePanel_1"> 
    <ContentTemplate> 

     <asp:CheckBox ID="chkNotKnown" runat="server" AutoPostBack="True" 
      Text="(Not Known)" OnCheckedChanged="chkNotKnown_CheckedChanged" /> 

     <asp:TextBox ID="txtDrCode" runat="server"></asp:TextBox> 

    </ContentTemplate> 
</asp:UpdatePanel> 
+0

ファンタスティック内のテキストボックスを配置します(フルポストバックを引き起こす)PostBackTriggerにトリガーを変更!完全に私の問題を解決:) – Sixthsense

関連する問題