0

我将 javascript 创建的控件 (http://www.dariancabot.com/projects/jgauge_wip/) 放在我的页面上。

<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
4

2 回答 2

2

init 是 jGauge 实例中的一个方法。所以你必须在调用这些数学之前实例化。试试下面的:

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);
于 2012-11-04T12:55:42.800 回答
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或任何其他事件中,您可以正常设置这两个变量的值,例如:

param1 = "100";

其余代码将按原样工作。

于 2012-11-05T08:31:02.123 回答