2016-12-29 89 views
0

我有一个GridView内的UpdatePanel。在模板字段中是用于标记项目的复选框。在功能上,这工作正常,但CheckBox总是触发一个完整的页面回发,而不是部分回发。我如何获得CheckBox触发部分回发?由GridView里面的CheckBox触发的全部回发内UpdatePanel

<asp:GridView ID="gv_test" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:CheckBox ID="cb_View_CheckAll" runat="server" AutoPostBack="true" OnCheckedChanged="cb_View_CheckAll_CheckedChanged"/> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

回答

0

使用triggerscriptmanager

<asp:ScriptManager ID="script" runat="server"></asp:ScriptManager> 
<asp:UpdatePanel ID="UpdatePanel" runat="server"> 
    <ContentTemplate> 

    </ContentTemplate> 
    <Triggers> 
     <asp:PostBackTrigger ControlID="cb_View_CheckAll" /> 
    </Triggers> 
</asp:UpdatePanel> 
+0

,因为CheckBox放置在网格视图内部,所以编译器无法正确找到此子控件并引发编译器错误 'UpdatePanel'UpdatePanel1'中的触发器找不到控件ID'cb_View_CheckAll'。 –

0

在您的ScriptManager添加EnablePartialRendering="true"

<asp:ScriptManager ID="ScriptManager1" runat="server" EnableViewState="False" EnablePartialRendering="true" EnableScriptGlobalization="true" > </asp:ScriptManager> 

还是在后面的代码尝试添加AsyncPostbackTrigger

ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(gv_test); 
+0

我应该在哪里添加AsyncPostbackTrigger,我的意思是在哪个事件? –

+0

@UsfNoor在你的Pageload中,但不在'!Ispostback' – Webruster

相关问题