2012-11-04 54 views
0

我我的網頁上的JavaScript將創建的控件(http://www.dariancabot.com/projects/jgauge_wip/)。如何從代碼中調用這個javascript函數背後

<div class="jgauge" ></div> 

$(document).ready(function() { 
    var ctl; 
    ctl = new jGauge(); 
    ctl.init(); 
)} 

比方說,我需要一些參數傳遞給init。像... ctl.init(a, b);從後面的代碼,我怎麼能做到這一點?我試過這樣的...

string script2 = String.Format("init('{0}','{1}')", param1, param2); 

this.Page.ClientScript.RegisterStartupScript(this.GetType(), "initialize control", script2, true); 

但它不工作。我得到了:

ReferenceError: init is not defined 

回答

2

init是jGauge實例中的一個方法。所以你叫那些mathode之前必須實例。嘗試波紋管:

string script2 = String.Format("var ctl; ctl = new jGauge(); ctl.init('{0}','{1}');", param1, param2); 
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "initialize control", script2, true); 
0

做的另一種方式是讓公共變量,

你的腳本會是這樣:

$(document).ready(function() { 
    var ctl; 
    ctl = new jGauge(); 
    ctl.init(<%=param1 %>, <%=param2 %>); 
)} 

,並在後面的代碼有兩個公共字符串

public string param1 = string.Empty; 
public string param2 = string.Empty; 

page_load或任何其他事件,您可以設置這些2個變量諾瑪的價值lly,如:

param1 = "100"; 

其餘代碼將按原樣運行。

相關問題