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(&#39;详情修改&#39;,&#39;g_default.aspx?CMD=AddEqp&amp;IDX=27&#39;);" id="GridView1_ctl04_Button3" />
其中单引号被转义,如何让单引号输入仍然是单引号不被转义?我也是这用@了,还是被转义。

解决方案 »

  1.   


    String s = "javascript:showPopWin('详情修改','g_default.aspx?CMD=AddEqp&IDX=" + btn3.CommandArgument + "')";
      

  2.   

                cLink.Attributes.Add("onclick", @"javascript:CP.Popup.show('Notice','ShowNotice.aspx?Id=" + (e.Item.DataItem as NoticeEntity).NoticeId + @"','',700, 450);return false;");
      

  3.   

    2楼的不加转义,会输出&#39;,三楼的方法加@还是会转义,是我.net设置的问题?
      

  4.   

    拿掉 String s = XXXXX;
    直接把XXXXX写到 btn3.Attributes.Add("onclick", XXXXX);里
      

  5.   

    就是因为在XXXXX里出现转义,才弄到string里面的
      

  6.   

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

  7.   

    btn3.Attributes.Add("onclick", "showPopWin('详情修改','g_default.aspx?CMD=AddEqp&IDX=" + btn3.CommandArgument + "')");
      

  8.   

    是不是给编码了。如果是实际的项目,不必和这个问题纠缠,可以用jquery为每个按钮添加click事件处理函数,或者别的办法,只要能绕过去就行
      

  9.   

    button 有一个 OnClientClick 属性,可以在设计界面里用这个属性,不用在 cs 文件里搞
      

  10.   

    改成:
    String s = "javascript:showPopWin('详情修改','g_default.aspx?CMD=AddEqp&IDX=" + btn3.CommandArgument + "')";
      

  11.   

    同问,我的97日历控件也是出现这个问题,被转义了。
    onfocus="WdatePicker({isShowClear:false,readOnly:true,firstDayOfWeek:1,errDealMode:1,minDate:'#F{$dp.$D(\'datestart\')}'})"
    转义为:
    onfocus="WdatePicker({isShowClear:false,readOnly:true,firstDayOfWeek:1,errDealMode:1,maxDate:&#39;#F{$dp.$D(\&#39;dateend\&#39;)}&#39;})"