0

javascriptASP.NET Web アプリケーション Project.In があり、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連続して印刷しています'"したがって、 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 に答える