读书人

单引号转义有关问题

发布时间: 2013-03-01 18:33:02 作者: rapoo

单引号转义问题。
Asp.net我在DataRowBound的事件,写如下代码

  if (e.Row.RowType == DataControlRowType.DataRow)
{
Button btn3 = (Button)e.Row.FindControl("Button3");
btn3.CommandArgument = e.Row.Cells[2].Text.ToString();
String s = "javascript:showPopWin(\'详情修改\',\'g_default.aspx?CMD=AddEqp&IDX=" + btn3.CommandArgument + "\')";
btn3.Attributes.Add("onclick", s);

Button btn4 = (Button)e.Row.FindControl("Button4");
btn4.CommandArgument = e.Row.Cells[2].Text.ToString();
}

对模板列中的一个按钮添加时间,结果单引号被转义,形式如下
 <input type="submit" name="GridView1$ctl04$Button3" value="添加器具" onclick="javascript:showPopWin('详情修改','g_default.aspx?CMD=AddEqp&IDX=27');" id="GridView1_ctl04_Button3" />
其中单引号被转义,如何让单引号输入仍然是单引号不被转义?我也是这用@了,还是被转义。
[解决办法]
 this.btnCalculate.Attributes.Add("onclick", @"PopWin()");

ClientScript.RegisterStartupScript(this.GetType(), "btnClick", "<script type='text/javascript'>function PopWin(){//弹出窗口代码}</script>");

[解决办法]
是不是给编码了。如果是实际的项目,不必和这个问题纠缠,可以用jquery为每个按钮添加click事件处理函数,或者别的办法,只要能绕过去就行
[解决办法]
button 有一个 OnClientClick 属性,可以在设计界面里用这个属性,不用在 cs 文件里搞

读书人网 >asp.net

热点推荐