ASP eval无法正确翻译

时间:2015-09-12 14:40:41

标签: asp.net

我有这段代码而且没有正确评估<%# Eval("url") %>内的OnClientClick

<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>

应该怎么写?

1 个答案:

答案 0 :(得分: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));
        }
    }