繁体   English   中英

如何从代码后面调用这个javascript函数

[英]How to call this javascript function from code behind

我在我的页面上放了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

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);

另一种方法是使用公共变量,

你的脚本就像:

$(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";

其余代码将按原样运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM