C# Rad选项卡OnClientLabSelected事件不应命中服务器端代码
嗨 我在我的页面中使用了Telerik rad tabs控件,其中我使用了它的C# Rad选项卡OnClientLabSelected事件不应命中服务器端代码,c#,asp.net,telerik,C#,Asp.net,Telerik,嗨 我在我的页面中使用了Telerik rad tabs控件,其中我使用了它的RadTabStrip1\u选项卡Click和onclientabselected。对于一个选项卡,我必须使用服务器端代码,而对于其他选项卡,我只需要onclientabselected事件,它不应该触发服务器端代码,因此我的问题是如何限制代码到达服务器端,以便这些选项卡单击不需要服务器端代码的位置 我使用了return false,但它不起作用 function onClientTabSelected(sender
RadTabStrip1\u选项卡Click
和onclientabselected
。对于一个选项卡,我必须使用服务器端代码,而对于其他选项卡,我只需要onclientabselected
事件,它不应该触发服务器端代码,因此我的问题是如何限制代码到达服务器端,以便这些选项卡单击不需要服务器端代码的位置
我使用了return false,但它不起作用
function onClientTabSelected(sender, args) {
//set tab value
var tabText = args.get_tab().get_index();
var tab = sender.get_selectedTab().get_text();
if (tab == 'Posts') {
ShowPostLinks();
return false;
//stop hitting server side code
}
if (tab == "Linkings") {
return true;
//go to server side
}
}
您需要使用允许取消的事件。ONCLIENTABSELECTED事件在“选择”选项卡之后引发,因此此时无法停止实际选择。您需要使用允许取消的事件。ONCLIENTABSELECTED事件在“选择”选项卡之后引发,因此此时您无法停止实际选择。对于大多数Telerik客户端事件,您需要执行
args。set\u cancel(true)
而不是返回false
它们的功能非常好,您可以在中找到大多数答案。对于大多数Telerik客户端事件,您需要执行
args。set\u cancel(true)
而不是返回false
他们有非常好的答案,您可以在中找到大多数答案。非常感谢您的回复,回复很好,但现在当我选择不应触发服务器端代码的选项卡时,我的javascript函数正在调用,它限制了转到服务器端,但唯一的问题是选项卡选择了css(突出显示当前选项卡)不起作用它保持高亮显示上次单击的选项卡(点击服务器端代码的位置)您正在执行
tab.select()代码>取消事件之前?如果是这样的话,它可能比使用javascript更改CSS类更有效?嗨,是的,我确实使用了tab.select();但它没有突出显示选项卡。我的皮肤是“干草”,没有自定义css可以突出显示当前选定的选项卡,请告诉我一种突出显示当前选项卡的方法,或者它点击服务器端代码,或者它只是取消转到代码。这可能会工作tab.CssClass=tab.SelectedCsslass,但我不知道在您离开选项卡后它是否会保留SelectedCsslass。非常感谢您的回复,回复很好,但现在,当我选择不应该触发服务器端代码的选项卡时,我的javascript函数正在调用,它限制到服务器端,但唯一的问题是,选项卡选择的css(突出显示当前选项卡)不起作用,它保持突出显示上次单击的选项卡(服务器端代码被点击的位置)您正在做什么tab.select();代码>取消事件之前?如果是这样的话,它可能比使用javascript更改CSS类更有效?嗨,是的,我确实使用了tab.select();但它没有突出显示选项卡。我的皮肤是“干草”,没有自定义css可供我突出显示当前选定的选项卡,请告诉我一种突出显示当前选项卡的方法,或者它点击服务器端代码,或者它只是取消转到代码。这可能有效。tab.CssClass=tab.SelectedCssClass,但我不知道在您离开该选项卡后它是否会保留在SelectedCssClass。