当我触发回发时,会显示转发器中的Gridview [英] Gridview in repeater is shown when I fire postback

查看:93
本文介绍了当我触发回发时,会显示转发器中的Gridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有下拉列表(ddl)和转发器(rptPayment)。



I have dropdownlist (ddl) and repeater(rptPayment) .

on

 protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
    {
BindRepeater();
}



绑定中继器成功。



在转发器中我隐藏并在检查时显示gridview盒子检查。

它正常工作。




Bind Repeater successfully.

In repeater when i hide and show gridview on check box checked.
It is working.

 function hideshowGV(itemId, itemIndex) {
            if (document.getElementById("ContentPlaceHolder1_rptPayment_chkComm_" + itemIndex).checked == true) {
                document.getElementById(itemId + "_gvPayment_" + itemIndex).style.display = 'block';
}
else {
                document.getElementById(itemId + "_gvPayment_" + itemIndex).style.display = 'none';
}
}





但是当我再发一次回发它(gridview)再次显示时,即使复选框也没有检查。



喜欢



But when i fire another postback it (gridview) shown again even check box is not checked.

like on

ddlPaymentMode_SelectedIndexChanged





我尝试了什么:





What I have tried:

<table align="center" style="width: 100%">
        <tr>
<td>         
                                    <asp:DropDownList ID="ddl" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddl_SelectedIndexChanged"

                                        Width="200px">
                                    </asp:DropDownList>
                                </td>
</tr>
<tr>
 <td colspan="6" class="tdcontrol">
                <asp:UpdatePanel ID="UpdatePanel6" runat="server">
                    <ContentTemplate>
                        <asp:Panel ID="panelrpt" runat="server" ScrollBars="Auto" Width="100%">
                           
                            <asp:Repeater ID="rptPayment" runat="server" OnItemDataBound="rptPayment_ItemDataBound">
                                <ItemTemplate>
                                    <asp:CheckBox ID="chkComm" runat="server" Checked="true" Text='<%#Eval("CommodityName")%>'

                                        ForeColor="White" Font-Bold="true" />
                                   
                                    <asp:GridView ID="gvPayment" runat="server" AutoGenerateColumns="false" ShowFooter="true"

                                        OnRowDataBound="gvPayment_RowDataBound">
                                        <Columns>
                                            <asp:TemplateField HeaderText="employee" Visible="false">
                                                <ItemTemplate>
                       <asp:Literal  runat="server" Text='<%#Eval("employeeId")%>'></asp:Literal>
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                          
                                             
                                           
                                        </Columns>
                                    </asp:GridView>
                                </ItemTemplate>
                            </asp:Repeater>
                        </asp:Panel>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="ddl" EventName="SelectedIndexChanged" />
                    </Triggers>
                </asp:UpdatePanel>
            </td>
  </tr>
<tr>
<td> <asp:UpdatePanel ID="UpdatePanel24" runat="server">
                                <ContentTemplate>
                                    <asp:DropDownList ID="ddlPaymentMode" AutoPostBack="true" runat="server" Width="200px"

                                        OnSelectedIndexChanged="ddlPaymentMode_SelectedIndexChanged">
                                    </asp:DropDownList>
                                </ContentTemplate>
                            </asp:UpdatePanel></td>
</tr>
</table>

推荐答案

protected void ddl_SelectedIndexChanged(object sender, EventArgs e)

不调用

function hideshowGV(itemId, itemIndex)





如果在代码中设置断点,您将看到发生了什么。 使用Visual Studio 2010进行基本调试 - YouTube [ ^ ]


<asp:UpdatePanel ID="UpdatePanel6" runat="server" UpdateMode="Conditional">







protected void ddl_SelectedIndexChanged(object sender, EventArgs e)
    {
UpdatePanel6.Update();
BindRepeater();
}


这篇关于当我触发回发时,会显示转发器中的Gridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆