禁用jquery选项卡服务器端

时间:2010-08-26 16:49:36

标签: asp.net jquery-ui form-submit server-side

带有JQuery UI标签窗口小部件和四个标签的ASP.NET Web表单。 当我点击提交按钮时,我想禁用最新的三个标签。

谢谢!

P.S。 我知道如何在jquery中禁用选项卡

$( ".selector" ).tabs( { disabled: [1, 2] } );

我不知道如何在服务器端代码中执行此操作:)

4 个答案:

答案 0 :(得分:2)

jQuery是客户端。你不能在服务器端禁用它。

您可以做的是在下一页加载(或AJAX调用)时从服务器将该位jQuery发送回页面。

答案 1 :(得分:0)

服务器端通常没有jQuery或JavaScript的概念,这些都是在客户端完成的。您可以做的一件事是,在按钮的服务器端单击事件处理程序中,添加一些JavaScript以发送到客户端以在页面加载时执行:

http://msdn.microsoft.com/en-us/library/3hc29e2a.aspx

我对此并没有做太多,但似乎很标准。另一种可能性是将标签包装在PlaceHolder控件中,并在事件处理程序中相应地将它们设置为visible = true / false。你可以非常顺利地动态地添加/删除围绕HTML和JavaScript的PlaceHolders。

答案 2 :(得分:0)

您可以从CS代码回发javascript。 因此,在click_submit_button方法中,请使用以下内容:

int Tab_to_Disable = 3;
ClientScript.RegisterStartupScript(this.GetType(), "Script", "<script language=javascript>" +
 "$('#container-1').tabs().tabs('disable', " + Tab_to_Disable  + "); " +
"</script>");

希望这有帮助:D

答案 3 :(得分:0)

这是一个Jquery UI技术,因此您无法在服务器端禁用它。但是,解决方法可以帮助您禁用在Page_load或任何其他功能上从服务器端注册启动脚本。

string str = "$(\"#tabs\").tabs({ disabled: [1, 2] });";
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "DisableTabs", str, true);