2011-08-17 102 views
1

master1.master客戶註冊碼

的Html

<div id="message" style="direction: rtl; display: none"> 
    </div> 
<form id="form1" runat="server" style="padding: 0px;"> 
    <asp:UpdatePanel runat="server"><ContentTemplate> 
     <asp:Button runat="server" id="btn" onClick="btn_Click"/> 
    </ContentTemplate></asp:UpdatePanel> 
</form> 

代碼

protected void btn_Click(object sender, EventArgs e) 
{ 
    string script = "$('#message').text('click click click');";   
    script += "$('#message').dialog({modal:true,resizable:false,title:'پیغام',height:80,show:'clip',hide:'explode'});"; 
    ScriptManager.RegisterStartupScript(this, GetType(), "ServerControlScript", script, true); 
} 

此代碼不起作用?????

但卻

page1.apx

<%@ Page Language="C#" MasterPageFile="~/master1.master" AutoEventWireup="true" 
CodeFile="page1.aspx.cs"Inherits="ControlPanelPP" %> 

的Html

<asp:UpdatePanel runat="server"><ContentTemplate> 
     <asp:Button runat="server" id="btn2" onClick="btn2_Click"/> 
    </ContentTemplate></asp:UpdatePanel> 

protected void btn2_Click(object sender, EventArgs e) 
{ 
    string script = "$('#message').text('click click click');";   
    script += "$('#message').dialog({modal:true,resizable:false,title:'پیغام',height:80,show:'clip',hide:'explode'});"; 
    ScriptManager.RegisterStartupScript(this, GetType(), "ServerControlScript", script, true); 
} 

這個代碼page1.aspx(master.master)做工精細!

什麼樣的代碼在主由於您使用ScriptManager.RegisterStartupScript這個js將與標記內嵌寫不榮辱與共

回答

1

。在使用$(document).ready()方法包裝你的js之前,請確保在嘗試查找它在dom中可用的元素之前。

string script = "$(function(){ $('#message').text('click click click');";   
    script += "$('#message').dialog({modal:true,resizable:false,title:'پیغام',height:80,show:'clip',hide:'explode'}); });"; 
0

我認爲你的問題可能有一些與事實的按鈕放在更新面板內部,你想更新的消息格所在的更新面板之外。

要測試這是否確實存在問題,只需暫時移除更新面板,看看它是否有效。

+0

if remove update panel and use ClientScriptManager cs = Page.ClientScript; cs.RegisterStartupScript(Page.GetType(),「」,script,true);工作正常 – kjh

+0

好的,所以問題是更新面板。你能不能把DIV放在更新面板裏面? –