2013-03-14 62 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