将参数从ASP.NET发送到javascript

时间:2011-07-24 17:12:28

标签: javascript asp.net

我想从我的ASP.NET(C#)代码调用一个javascript函数,我想用另一个字符串传递一个变量(字符串),如下所示:

tag_label.Attributes.Add("onmouseover", "tooltip.show('my text'+'"+myString+"'<br/>'another text);");

我应该如何传递这些值?我也希望在我的工具提示(<br/>)中添加新行,我该怎么办?我尝试了几种方法(使用'+和其他方法)来发送所有这些值,但是我收到了javascript错误,是否有任何示例?请帮我 感谢

4 个答案:

答案 0 :(得分:1)

在该功能中,您可以使用服务器端代码标记。

var string = "<% = myString%>"

答案 1 :(得分:0)

您非常接近,请记住,当在服务器上生成控件时,它们会在客户端上“展开”为HTML - 换句话说,“+”符号是不必要的,因为客户端只会看到字符串(它没有关于代码中哪个部分属性值与服务器上硬编码的部分相关的概念。

var toolTip = string.Format("This is text was added on {0}:{1}<br />this text is hard-coded", DateTime.Now.ToShortDateString(), DateTime.Now.ToLongTimeString()
var attributeValue = string.Format("tooltip.show('{0}')");
tag.Attributes.Add("onmouseover",  attributeValue);

答案 2 :(得分:0)

试试这个:

tag_label.Attributes.Add("onmouseover", "tooltip.show('my text','"+myString+"<br/>another text');");

答案 3 :(得分:0)

两种方式:

方法1(Jon Martin的方式):有一个由服务器信息填充的javascript变量

  • 在aspx页面上创建一个javascript变量:var myString ='&lt;%= _mytring%&gt;';
  • 在后面的代码上填充_mystring:public String _mystring =“your value”;

方法2:只需从服务器端转出变量

Page.ClientScript.RegisterStartupScript(getType(Page), "var myString = '" + "your value" + "';", true);