在开始之前,我应该说我并不真正使用ASPX,我更多地处理样式,我们的开发人员无法帮助我。
对标题感到抱歉,我不知道如何最好地将其标注为问题。
我们有一个网格视图,其中包含一些生成的超链接,这些超链接使用一些回调代码,弹出一个丑陋的窗口,其中包含有关所选项目的一些详细信息。
客户端希望我使用名为FancyBox的JQuery控件,它将更好地显示页面。
我遇到的问题是Fancybox需要一个标准的<a href="...
超链接才能使用iframe启动控件。我需要将当前正在生成的令人讨厌的javascript:__doPostBack('gvGridView$ctl04$lnkOrderId','')
更改为一个不错的/ClientOwnerDetails.aspx?OrderId=1234&FormId=4321
aspx页面上的代码:
<asp:LinkButton Text='<%# Bind("OrderId") %>' CommandArgument='<%# Bind("FormId") %>' ID="lnkOrderId" runat="server" OnClick="lnkOrderId_Click"></asp:LinkButton>
后面的代码生成此链接:
ClientScript.RegisterStartupScript(typeof(Page), "myscript", "window.open('./ClientOwnerDetails.aspx?OrderId=" + lnk.Text + "&FormId=" + lnk.CommandArgument + "','_blank');", true);
这是我今天需要解决的最后一个常见错误之一。任何帮助指出我正确的方向将不胜感激。
答案 0 :(得分:3)
如果客户端希望您使用jQuery,请使用jQuery。点击asp.LinkButton
并添加您自己的a
标记。 asp.LinkButton
中的代码显式是服务器端控件。
答案 1 :(得分:3)
而不是asp:LinkButton
,您可以执行下面不使用JQuery的操作。
<a href="/ClientOwnerDetails.aspx?OrderId=<%# Eval("OrderId") %>&FormId=<%# Eval("FormId") %>" target="_blank" id="lnkOrderId"><%# Eval("OrderId") %></a>
如前所述,您使用GridView
Asp.Net webforms
控制{{1}},并且您的客户端要求您使用Jquery,那么您应该使用任何jquery网格(如http://www.jqwidgets.com/jquery-widgets-demo/demos/jqxgrid/)并绑定它使用ajax。
在这里发布一个完整的解决方案(很长时间)是不可能的,你必须自己做。