在ASP中停止网格视图自动刷新复选框.NET 2.0


<asp:GridView ID="GdDetails" runat="server" 
AutoGenerateColumns="False" CellPadding="4" 
Font-Names="Trebuchet MS" Font-Size="10pt" 
Height="72px" Width="440px" 
ForeColor="#333333" GridLines="None">
<FooterStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" />
<Columns>
<asp:BoundField DataField="PMPDT" HeaderText="Date" />
<asp:BoundField DataField="PMBRN" HeaderText="Branch" />
<asp:BoundField DataField="PMPOL" HeaderText="Policy Number" />
<asp:BoundField DataField="PMSEQ" HeaderText="DebitNote Number" />
<asp:BoundField DataField="PMDEP" HeaderText="Department" />
<asp:BoundField DataField="PMTOT" HeaderText="Total in Rs.">
<ItemStyle HorizontalAlign="Right" />
</asp:BoundField>
<asp:BoundField DataField="PMBAL" HeaderText="Balance in Rs.">
<ItemStyle HorizontalAlign="Right" />
</asp:BoundField>
<asp:BoundField DataField="RECNAME" HeaderText="Name"> </asp:BoundField>
<asp:BoundField DataField="PMVE2" HeaderText="vehicleNo"  />
<asp:TemplateField HeaderText="Settlement Amount" ItemStyle-Width="150">
<ItemTemplate>
<asp:TextBox ID="txtAmount" runat="server" AutoPostBack="true"  />
</ItemTemplate>
</asp:TemplateField> 
<asp:TemplateField HeaderText="">  
<ItemTemplate>
<asp:CheckBox ID="chkcsec" runat="server" OnCheckedChanged="GetSelectedRecord" AutoPostBack="true"  />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#999999" />
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
</asp:GridView>

我尝试使用更新面板,它给出了错误未知的命令。我尝试了autopostback = false,但我需要这个函数来填充复选框。我想停止代码刷新总是当我点击复选框

您必须决定是否要为该复选框运行后台代码?

因为复选框有一个onchanged事件,那么您需要自动回发来运行后面的代码。如果您删除了复选框的自动调整,则复选框将无法工作。

您必须确定问题是否在于gv刷新?也许这不是问题?

然而,是的,在更新面板中包围gv是处理这个问题的一种方法。这真的归结为代码的复选框应该做什么?

你是在使用编辑模板吗?(我倾向于建议不要对每行使用内置编辑器——最好将代码分开,有很多方法可以实现这一目标。

更新面板将至少"出现"。为了不刷新页面,但是有了复选框的回发,它还是会刷新——只是不会刷新整个页面。

但是,请记住,更新面板并不能阻止每次触发页面加载事件。因此,页面的on-load事件有可能有代码搞砸了这一点。它是否有/使用if Not IsPostback代码存根?(如果没有的话,它真的需要一个)。

所以,不清楚是什么/为什么未知的命令突然引入一个更新面板,但我会考虑修复这个错误,因此您可以保留复选框post-back代码。这实际上取决于复选框代码(后面的代码将在很大程度上决定您在这里的最佳操作方案)。

最新更新