2010-08-18 51 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>