我有一个问题,我见过其他人过去也有,但我找不到任何解决方案。
我想在页面上使用ASP.Net链接按钮(甚至是按钮),一旦点击它,它在服务器端的事件代码就会触发但是我不希望它导致回发。
现在我知道这些控件旨在通过设计导致回发,并且您可以通过添加以下内容来禁用此功能:“return false;”到Onclientclick参数(或者Attributes.Add(“onclick”,返回false“);)但是请注意,这不是我要问的。我认为我的问题基本上是:我们如何在服务器上调用方法 - 从客户端那边没有引起回发?这甚至可能吗?(我可以在问题本身中感知一些逻辑问题,但其他几个人也有同样的问题)。
对于那些有创造力的人,我最近遇到过: http://ryanfarley.com/blog/archive/2005/03/11/1886.aspx
解释了如何识别导致回发的控件。也许这有助于通过某种方式禁用回发效果然后解雇事件?如果是这样,你怎么能避免页面刷新效果(我在Page_Load中没有任何东西,但页面仍然“刷新”或重新渲染。我不想这样,这可以避免吗?我还没有想出办法。
感谢您的时间。
答案 0 :(得分:3)
要调用服务器端事件,您必须将数据发送到服务器,以便它知道该怎么做。停止回发会停止发送的数据,因此服务器永远不会知道客户端上发生了什么。
如果您只是想避免页面参考,那么最好的方法就是使用AJAX。在ASP.NET Web表单中,最简单的方法是将内容包装在UpdatePanel中。另一种方法是研究使用PageMethods和客户端脚本(实质上是从客户端脚本调用Web服务,然后充当服务器的代理)。
答案 1 :(得分:1)
为什么不只是编写由按钮触发的javascript来执行您需要的客户端修改。如果在事件期间需要来自服务器的任何动态数据,则可以使用服务器中的ajax获取该数据。
答案 2 :(得分:0)
据我所知,这是不可能的。
答案 3 :(得分:0)
您可以通过将按钮放在UpdatePanel中来触发部分播放(因此页面不会重新加载)。
答案 4 :(得分:0)