Ixt*_*lan 12 asp.net ajax jquery updatepanel
我需要以编程方式禁用JQuery选项卡.选项卡位于更新面板(Ajax)中,更新面板位于ASP.NET页面中.码:
<link type="text/css" rel="stylesheet" href="http://ui.jquery.com/testing/themes/base/ui.all.css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="http://ui.jquery.com/testing/ui/ui.core.js"></script>
<script type="text/javascript" src="http://ui.jquery.com/testing/ui/ui.tabs.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#example").tabs();
});
function hidetabs(){
$(document).ready(function(){
$("#example").tabs();
$('#example').data('disabled.tabs', [1, 2]);});
}
</script>
<%@ Page Language="C#" MasterPageFile="~/any.Master" AutoEventWireup="true" Codebehind="anycode.aspx.cs"
Inherits="anycode" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel ID="UpdatePanel_Deal_Import" runat="server">
<ContentTemplate>
<div id="example">
<ul>
<li><a href="#fragment-1"><span>One</span></a></li>
<li><a href="#fragment-2"><span>Two</span></a></li>
<li><a href="#fragment-3"><span>Three</span></a></li>
</ul>
<div id="fragment-1">
<p>
First tab is active by default:</p>
<pre><code>$('#example').tabs();</code></pre>
<asp:Button ID="btn_Save" OnClick="btn_Save_Click" runat="server" Text="Save" Visible="False" CommandName="Save">
</div>
<div id="fragment-2">
Lorem ipsum dolor sit amet, consectetuer
ut laoreet dolore magna aliquam erat volutpat.
</div>
<div id="fragment-3">
Lorem ipsum dolor sit amet, consectetuer
aliquam erat volutpat.
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
Code behind:
protected void btn_Save_Click(object sender, EventArgs e)
{
//here I need to diable the panels.
}
Run Code Online (Sandbox Code Playgroud)
函数btn_Save_Click不会发布页面,因此它不会调用Javascript/jquery hidetabs函数.谢谢你的帮助!!!
ham*_* aj 17
我使用以下方式,并为我100%正确地工作:
第一个我创建一个函数并将我的jquery函数写入我的页面中的函数:
<script>
function myFunction(params) {
$.my_jquery(params...)
......
}
</script>
Run Code Online (Sandbox Code Playgroud)
然后我在我的控件的事件处理程序中使用此代码(例如单击按钮)我的控件在更新面板中:
protected void myButton(object sender, EventArgs e)
{
.....
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "tmp", "<script type='text/javascript'>myFunction(params...);</script>", false);
}
Run Code Online (Sandbox Code Playgroud)
成功
听起来你需要一个具有客户端操作的按钮而不是一个回发的按钮.
<asp:Button ID="Clickable" runat="server" text="Click me" OnClientClick="JavascriptCall();" />
Run Code Online (Sandbox Code Playgroud)
另外,虽然jQuery通常是向后兼容的,但直接引用jQuery的最新.js文件并不是一个好主意.相反,我会下载您想要的版本,并将其静态放置在您的网站上,以便直接参考已知版本.在不必要时,在外部站点上添加对资源的状态或可用性的依赖性是不好的.