2013-03-14 29 views
0

我有ASP.NET Web應用程序項目。其中我想通過c#代碼隱藏頁面將值傳遞給javascript中的函數。傳遞函數參數從c#代碼後面

我的C#代碼段: -

//Here td_Output is TableCell 

td_Output.Text = "<input type='button' style='font-size:11px;' onclick='LoadLoayaltyProgram(1,'"+Convert.ToString(Request.Form["Program"])+"');' class='ui-button ui-widget ui-state-default ui-corner-all' role='button' value='Add' />"; 

JavaScript代碼: -

function LoadLoayaltyProgram(PID,ID) { 
    alert(PID +" "+ ID); 
} 

當我做檢查元素對的.aspx在瀏覽器頁面,我看到這樣的代碼:

<input type="button" style="font-size:11px;" onclick="LoadLoayaltyProgram(1," pid112002');'="" class="ui-button ui-widget ui-state-default ui-corner-all" role="button" value="Add"> 

點擊「添加」按鈕後我沒有收到任何提醒

回答

2

LoadLoayaltyProgram要打印consequtive '。所以,逃避"\"這樣你就可以用這樣的重用:

string program = Server.UrlEncode(Request.Form["Program"] ?? string.Empty); 
td_Output.Text = String.Format("<input type='button' style='font-size:11px;' onclick='LoadLoayaltyProgram(1, \"{0}\");' class='ui-button ui-widget ui-state-default ui-corner-all' role='button' value='Add' />", program); 
1
onclick="LoadLoayaltyProgram(1," pid112002');'="" 

這看起來很奇怪,不應該是類似的東西?

onclick="LoadLoayaltyProgram(1, 'pid112002')" 
+0

雅,我知道....這是怎麼回事在CS文件? – Shaggy 2013-03-14 12:37:47

+0

查看Candide的回答 – 2013-03-14 12:42:59