【问题标题】:ASP.NET HyperLink Eval in a Javascript functionJavascript 函数中的 ASP.NET 超链接评估
【发布时间】:2013-01-28 10:36:34
【问题描述】:

我在 TemplateField 中的 GridView 中添加了一个 HyperLink 控件,我希望它能够将用户重定向到特定页面,并从所选行传递 ID。以下工作正常:

<asp:HyperLink ID="hlViewBasketItem" runat="server" Text="Detail"
   NavigateUrl='<%# Eval("BasketItemID", "/BasketItemDetail.aspx?popUp=true&id={0}") %>'>
</asp:HyperLink>

ID 评估正确;例如:“/BasketItemDetail.aspx?popUp=true&id=52”

我遇到的问题是我需要调用 Javascript 函数来控制我的页面的显示(以便它出现在弹出窗口中)。我尝试了以下方法:

<asp:HyperLink ID="hlViewBasketItem" runat="server" Text="Detail"
    NavigateUrl='<%# Eval("BasketItemID", "javascript:dnnModal.show('/BasketItemDetail.aspx?bid={0}&popUp=true',false,550,950,false)") %>'>
</asp:HyperLink>

...但我收到“服务器标签格式不正确”错误。

真的有办法做到这一点吗?

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    这就是答案:

    NavigateUrl=<%# "Javascript:dnnModal.show('BasketItemDetail.aspx?popUp=true&bid=" + DataBinder.Eval(Container.DataItem, "BasketItemID").ToString() + "')"%> 
    

    我现在可以睡觉了:)

    【讨论】:

      【解决方案2】:

      而不是使用asp.net超链接添加使用html锚标记并调用java脚本函数如下:

      //javascript函数

         <script>
          function openPop(drp) {
              window.open('/BasketItemDetail.aspx?bid='+drp+'&popUp=true', false, 550, 950, false);
          }
      </script>
      

      // 锚标记

       <a href="#" onclick="javascript:openPop('1')">Click Here </a>
      

      【讨论】:

      • 感谢您的回答,但我必须使用 dnnModal 调用而不是 window.open。不过它似乎工作正常:)
      猜你喜欢
      • 2018-07-31
      • 1970-01-01
      • 2011-02-12
      • 2010-10-03
      • 1970-01-01
      • 2018-07-06
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      相关资源
      最近更新 更多