2015-09-12 59 views
0

我有這樣的一段代碼,並沒有正確評估<%# Eval("url") %>OnClientClickASP EVAL沒有翻譯正確

<asp:LinkButton runat='server' Text='<%# Eval("Modulo") %>' 
    OnClientClick='return LoadIframe(<%# Eval("url") %>)' 
    ID='linkSeleccionar' /> 

,因爲它被翻譯成:

<a onclick="return LoadIframe(&lt;%# Eval(&quot;url&quot;) %>);" id="RepMenu_RepModulos_0_linkSeleccionar_0" href="javascript:__doPostBack(&#39;ctl00$RepMenu$ctl01$RepModulos$ctl01$linkSeleccionar&#39;,&#39;&#39;)">Hoja Trabajo</a> 

它應該怎麼寫?

回答

0

嘗試,

<asp:LinkButton runat="server" ID="lbtnEdit" Text='<%# Eval("Modulo") %>' 
    OnClientClick='<%# "return LoadIframe(" + Eval("url") + ");" %>' /> 

或者,您可以從代碼綁定後面。

protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      LinkButton button = (LinkButton)e.Row.FindControl("lbtnEdit"); 
      string url= DataBinder.Eval(e.Row.DataItem, "url").ToString(); 

      button.OnClientClick = string.Format("return LoadIframe('{0}');", url); 
      //button.Attributes.Add("onclick", string.Format("return LoadIframe('{0}')", url)); 
     } 
    }