C# 点击Gridview中的LinkButton:为什么大多数时候都会重新加载网格,但并不总是如此?

C# 点击Gridview中的LinkButton:为什么大多数时候都会重新加载网格,但并不总是如此?,c#,gridview,repeater,asplinkbutton,C#,Gridview,Repeater,Asplinkbutton,我试图理解GridView/Repeater的恼人更新,这种更新在我点击该元素中的链接按钮的大多数时候都会发生。如果这是由回发引起的,那么为什么不经常发生呢? 如果它不总是引起的,我甚至可以摆脱它吗 我通常这样做是为了获得网格或中继器中单击的单元格的详细信息: <asp:LinkButton ID="ButtonSelect" runat="server" CommandName ="Select" CommandArgument = '<%# Eval("date") %>'

我试图理解GridView/Repeater的恼人更新,这种更新在我点击该元素中的链接按钮的大多数时候都会发生。如果这是由回发引起的,那么为什么不经常发生呢? 如果它不总是引起的,我甚至可以摆脱它吗

我通常这样做是为了获得网格或中继器中单击的单元格的详细信息:

<asp:LinkButton ID="ButtonSelect" runat="server" CommandName ="Select" CommandArgument = '<%# Eval("date") %>' Text='<%# Bind("TAG") %>' OnClick="GetDetails"/>

在“GetDetails”方法中处理的数据将显示在其他一些元素中。不需要刷新网格

这是GridView中任何LinkButton单击的正常行为吗


Martin

这是gridview中服务器按钮的正常操作。这将导致回发。回发将强制页面生命周期。整个页面将被重新创建,数据绑定可能会发生,也可能不会发生,具体取决于缓存选项和编程

“修复”这实际上取决于你想要完成什么。如果仅仅是因为回发来停止“屏幕闪烁”,请考虑使用Ajax调用或<代码> <代码>服务器控件。< /P>
如果您试图在客户端使用JS,并且只希望将回发推迟到以后,请将按钮转换为模板字段,并将
替换为基本html控件
可能与
CommandName=“Select”
的使用有关。许多databuond控件具有与该命令名相关联的特殊行为。尝试改用自定义命令名,看看是否有什么不同。不确定它是否会,但很容易测试,只是为了看看会发生什么。可识别的命令名: