2017-01-12 6 views
0

私は更新パネルにグリッドビューを持っていますが、グリッドにはasp:textboxを含む1つの列があります。ダイナミックに生成されたテキストボックスからフォーカスを外して、asyncAutoPostBackTriggerをバインドしてトリガーしたいです。私は、次のコードGridViewダイナミックasp:Update Pannelを使用したテキストボックス

<asp:scriptmanager id="ScriptManager2" runat="server"></asp:scriptmanager> 
<asp:updatepanel id="UpdatePanel2" runat="server"> 
    <ContentTemplate> 
     <asp:GridView ID="GridView1" CssClass="table table-customized table-layout-fixed col-sm-offset-2" runat="server" AutoGenerateColumns="False" OnRowDataBound="gvLicense_RowDataBound"> 
      <Columns> 
       <asp:TemplateField ControlStyle-CssClass="word-wrap-break" HeaderText=""> 
        <ItemTemplate> 
         <label class="col-sm-2 control-label" runat="server">Title</label> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField ControlStyle-CssClass="word-wrap-break" HeaderText="Title"> 
        <ItemTemplate> 
         <asp:TextBox ID="TextBox1" runat="server" placeholder="Title" Text='<%# Bind("vCertType") %>' OnTextChanged="Code_TextChanged"></asp:TextBox> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:TemplateField ControlStyle-CssClass="word-wrap-break" HeaderText="Add"> 
        <ItemTemplate> 
         <button type="button" id="btnAddLicense" runat="server" class="btn btn-success-o">+</button> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 
    </ContentTemplate> 
<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="<%=Bind(txtLicense.ClientID) %>" EventName="" /> 
</Triggers> 

の背後にあるコードを見る

  • JavaScriptでフォーカスアウトでの問題の内訳

    • バインドイベントを持っている値を取得し、DB
    に保存します
  • 答えて

    0

    <Triggers>ノードを削除し、を追加できます3210をTextBoxに追加します。

    <asp:TextBox ID="TextBox1" runat="server" placeholder="Title" Text='<%# Bind("vCertType") %>' OnTextChanged="Code_TextChanged" AutoPostBack="true"></asp:TextBox> 
    

    コードビハインドでは、送信者をTextBoxにキャストして値を取得できます。

    protected void Code_TextChanged(object sender, EventArgs e) 
    { 
        TextBox tb = sender as TextBox; 
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), "alertMe", "alert('" + tb.Text + "')", true); 
    
        //save to database 
    } 
    
    関連する問題