我已将Gridview扩展为Clickable(即,当我们点击任何行时,它会被选中,并根据所选行显示详细视图。)
然后我在javascript的帮助下添加了选择/取消选择GridView中的所有CheckBox。现在的问题是,每次单击复选框时页面都会被回发。我不希望这样,如果按下这个特定的列元素,即复选框,我不希望发生回发。
有什么方法可以让我知道当回发发生时正在选择哪一列,以便我可以知道它发生在具有复选框的列中。
如果你有灵魂,请告诉我。
谢谢,
答案 0 :(得分:1)
我找到了解决问题的方法如下:
我们必须从Checkbox取消事件冒泡,以便它不会冒泡到Gridview RowClicked事件。
取消事件冒泡表单复选框的方法如下:
cb.Attributes(“onclick”)=“event.cancelBubble = true;”
其中cb是复选框。
希望这会帮助其他人遇到与我相同的问题,
谢谢,
答案 1 :(得分:0)
我不确定您是如何将复选框添加到gridview行的,但如果您这样做,服务器端请确保(或每个)复选框的AutoPostback属性设置为false。如果设置为true,只要有人检查/取消选中您的某个复选框,您就会收到回发。
答案 2 :(得分:0)
我们可以在gridview中添加复选框,下面是GridView的Columns中需要的示例代码:
<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:CheckBox ID="chkBxSelect" runat="server" AutoPostBack ="false" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="50px" />
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="50px" />
<HeaderTemplate>
<asp:CheckBox ID="chkBxHeader" onclick="javascript:HeaderClick(this);" runat="server" />
</HeaderTemplate>
如果我们在Gridview的某些列中单击并且在单击某些选定列时不回发,那么在ASP.NET Gridview中是否可以回发。
e.g。我在gridview中有3列,如果我单击第1列和第2列,我想要回发,如果我在第3列中单击,则不想要回发。