0

我有 ASP.NET Web 应用程序项目。我想在其中将值传递给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">

单击“添加”按钮时我没有收到任何警报

4

2 回答 2

2

LoadLoayaltyProgram你正在打印 consequtive '"因此,将with转义,\"这样您就可以像这样重用它:

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);
于 2013-03-14T12:13:40.907 回答
1
  onclick="LoadLoayaltyProgram(1," pid112002');'="" 

这看起来很奇怪,不应该是这样的吗?

  onclick="LoadLoayaltyProgram(1, 'pid112002')" 
于 2013-03-14T12:11:18.907 回答