asp gridview超链接调用javascript函数

时间:2017-05-03 08:44:09

标签: javascript asp.net vb.net

我有下拉列表的结果但是如果设置visible= 'false',gridview的超链接功能将不再起作用。 我有一个下拉列表,每次更改时都包含三个选项,需要重定向超链接:

  1. PASTA
  2. 来源
  3. 品牌
  4. 我可以在点击gridview的超链接时收到结果,只有保持文本框可见“真实”。

     <asp:DropDownList ID="stock" runat="server" AutoPostBack="true" AppendDataBoundItems="true"  Width="15%"/>
     <asp:TextBox ID="lblstock" runat="server" Visible="false" />
    

    如果下拉列表没有更改,则下面的gridview超链接只能使用它:

    <asp:HyperLink runat="server" Text='<%# Eval("FOOD_NO")%>' NavigateUrl='<%# String.Format("javascript:openWindow(""../FOOD/FOOD_STG.aspx?FOOD_NO={0}"")", Eval("FOOD_NO"))%>' />
    <asp:Label ID="FOOD_NO" runat="server" Visible="False" Text='<%# Bind("FOOD_NO") %>' />
    

    JavaScript的:

      function openWindow() {
    
            var result = document.getElementById("lblstock").value.strURL;
            var url = "";
            if (result != "")
            {
                switch (result) {
                    case "PASTA":
                        url = "../FOOD_Rep/FOOD_Rep.aspx?FOOD_NO={0}";
                     break;
    
                    case "Source":
                        url = "../FOOD_Ing/FOOD_Ing.aspx?FOOD_NO={0}";
                    break;
    
                    case "Brand":
                        url = "../FOOD_Brd/FOOD_Brd.aspx?FOOD_NO={0}";
                    break;
    
                }
                var winopen = window.open(url + "&FOOD_ID=" + $("#GROUP_ID").val(), 'Memo', ' left=50, screenx= 10, width=1360,height=820,scrollbars=1,resizable=1,toolbar=0');
                winopen.focus();
    
            }
    

    后面的vb代码:

    lblstock.Text = stock.SelectedValue
    

    我有时候被困在这里请帮助谢谢。

1 个答案:

答案 0 :(得分:0)

由于显而易见的原因,我无法对此进行测试,但这应该有效:当它单击的超链接时,它将从DropDownList读取当前选定的值并使用它来创建URL。

这假设下拉列表中可能的可选值是“PASTA”,“Source”和“Brand”,如您发布的原始javascript函数所示。

它使用jQuery,因为语法对于创建事件处理程序等更为清晰。但如果您愿意,可以使用本机JavaScript轻松地重写它。

的DropDownList:

$

超链接:

<asp:DropDownList ID="stock" CssClass="stock-dropdown" runat="server" AutoPostBack="true" AppendDataBoundItems="true"  Width="15%"/>

JavaScript的:

<asp:HyperLink runat="server" CssClass="stock-hyperlink" Text='<%# Eval("FOOD_NO")%>' data-foodno='<%# Eval("FOOD_NO")%>' NavigateUrl="#"' />