2011-07-24 55 views
0

我想從我的ASP.NET(C#)代碼中調用JavaScript函數,我想與另一個字符串傳遞一個變量(字符串)象下面這樣:從ASP.NET發送參數的JavaScript

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

我應該如何通過這些值?我也想在我的工具提示中有新行(<br/>),我該怎麼辦?我試過幾種方法(使用',+和其他方法)發送所有這些值,但我得到的JavaScript錯誤,是否有任何示例?請幫助我 謝謝

+1

我不知道,提示可以有換行符只是轉儲可變的,至少不是本地的。 –

+0

所有你真正需要的應該是''tooltip.show('my text'+ myString +'另一個文本);「',假設myString是一個Javascript變量,並且沒有'
',因爲我認爲它不會除了在工具提示文本中顯示標記外,還可以做任何事情。 –

回答

1

在該功能中,您可以使用服務器端代碼標記。

var string = "<% = myString%>" 
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); 
0

試試這個:

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

兩種方式:

方法1(喬恩·馬丁的樣子):有通過服務器信息

  • 填充的JavaScript變量創建一個JavaScript變量在aspx頁面上:var myString ='<%= _mytring%>';
  • 在後面的代碼上填充_mystring:public String _mystring =「your value」;

方法2:從服務器端

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