ASP GridView超链接调用JavaScript函数



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

  1. 面食
  2. 来源
  3. 品牌

我可以在单击GridView的超链接时收到结果,只有在将文本框保持在" True"中时。

 <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

我一直被困在这里,有时请帮助您。

我由于明显的原因无法测试它URL。

这是假设下拉列表中可能的可选值是"面食","源"one_answers"品牌",如您发布的原始JavaScript函数所示。

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

下拉列表:

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

超链接:

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

javascript:

$(function() {
    $(".stock-hyperlink").click(function(event) {
        event.preventDefault(); //stop normal link behaviour
        var stockVal = $(".stock-dropdown").val(); //get the selected value of the dropdown
        var url = "";
        if (stockVal != "")
        {
            switch(stockVal)
            {
                case "PASTA":
                    url = "../FOOD_Rep/FOOD_Rep";
                    break;
                case "Source":
                    url = "../FOOD_Ing/FOOD_Ing";
                    break;
                case "Brand":
                    url = "../FOOD_Brd/FOOD_Brd";
                    break;
            }
            url += ".aspx?FOOD_NO=" + $(this).data("foodno") + "&FOOD_ID=" + $("#GROUP_ID").val();
            var winopen = window.open(url, 'Memo', ' left=50, screenx= 10, width=1360,height=820,scrollbars=1,resizable=1,toolbar=0');
            winopen.focus();
        }
    });
});

最新更新