当我触发回发时,会显示转发器中的Gridview [英] Gridview in repeater is shown when I fire postback
本文介绍了当我触发回发时,会显示转发器中的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屋!
查看全文