i具有下拉列表的结果,但是如果设置visible= 'false'
,则GridView的超链接功能将不再起作用。我有一个下拉列表,每次更改重定向超链接所需的需要三个选项:
- 面食
- 来源
- 品牌
我可以在单击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();
}
});
});