Usage: -
<asp:HyperLink ID="HyperLink4" Target="_blank" NavigateUrl="javascript:window.open('test.aspx'); return false;" ForeColor="#F58022" runat="server">Terms and Conditions</asp:HyperLink>
Strike>
The problem is that window.open returns a window object. One of the goals of the javascript: protocol javascript: was to allow javascript code to generate HTML content, which is the expression following the protocol. Then you are taken to a new page containing this HTML code.
In your case, because you have Target = "_ blank", a new page opens, and the object is returned by your expression (new window, open window.open), calls its toString () method, and this is what maps to it additional window.
Edit
I hit the code because it does not work. The correct solution is provided by silky . However, I am not deleting the answer, because the explanation of what is happening in the interrogation code is worth it. Therefore, the solution is valid: -
<asp:HyperLink ID="HyperLink4" href="#" onclick="window.open('test.aspx'); return false;" ForeColor="#F58022" runat="server">Terms and Conditions</asp:HyperLink>
Target no longer needed, it is not used. It remains as a HyperLink control, as there may be other reasons that the OP needs this as a control on the page.
source share