2010-08-18 48 views
1

我想使用一些服务器标签的OnClientClick的LinkBut​​tonASP.NET服务器标签不规范

<asp:LinkButton ID="lnkbtnID" OnClientClick='<%# "window.open('SomePage.aspx?Id=" + Eval("reqID") + "');" %>' runat="server" Text='<%# Eval("reqID")%>'> 
</asp:LinkButton> 

如何写这个,这是给该服务器标签不规范的错误。

那么如何正确写入?

回答

0

你可以在代码中做到这一点的背后还有

lnkbtnID.Attributes.Add("onclick","window.open('SomePage.aspx?Id="+reqID+"');"); 

lnkbtnID.Text=reqID; 
+0

我不知道为什么,但它不是从代码后面的工作,所以我想写在HTML页面本身。在代码隐藏中,它不打开窗口,但是当我检查该页面的视图源时,那么window.open包含正确的参数。 – Nits 2010-08-18 06:09:04

+0

@ Nits,你有浏览器中的任何弹出窗口阻止程序,防止window.open调用? 也,你能提供生成的HTML标记片段? – N30 2010-08-18 15:44:08

+0

生成标记我检查了它,这是完全正确的。那里也没有弹出式窗口拦截器。 – Nits 2010-08-20 06:16:24

-1

怎么样

<a class="NewslinkButton" onclick="myRef = window.open(''+'<%# "SomePage.aspx?NewsID="+Eval("reqID") >','mywin','left=20,top=20,toolbar=0,resizable=1,scrollbars=1,height=300');myRef.focus()"> 
<asp:Literal ID="l1" runat="server" Text='<%# Eval("reqID")%>'></asp:Literal></a>