【问题标题】:How can I add a hyperlink to a dropdownlist create in vb.net code behind?如何将超链接添加到在 vb.net 代码中创建的下拉列表?
【发布时间】:2016-03-17 04:20:43
【问题描述】:

我在后面的代码中创建了一个下拉列表:

Public sub CreateDDL()

 Dim ddl As New DropDownList
 Dim list As ListItem = New ListItem()
            list.Text = "printTemplate1"
            list.value = "~/template1.aspx"
            ddl.Items.Add(list)
End Sub

我不知道如何将值作为链接。 建议我,谢谢。

【问题讨论】:

    标签: asp.net vb.net hyperlink listitem dropdown


    【解决方案1】:

    我用这种方式解决了我的问题:

    Public sub CreateDDL()
     Dim ddl As New DropDownList
     ' ############# THE MODIFICATION ########################
     ddl.Attributes.Add("onchange", "template1.aspx")
    ' ##################################################
     Dim list As ListItem = New ListItem()
                list.Text = "printTemplate1"         
                ddl.Items.Add(list)
    End Sub
    

    希望对大家有帮助

    【讨论】:

    • 您的回答比我的更明智,所需的努力更少。您可以将自己的答案标记为已接受:)
    • 谢谢,你的回答也是有效的:-D
    【解决方案2】:

    您正在寻找的内容是不可能的,因为DropDownList 会将自己呈现为原生 HTML 选择。这些控件并非真正设计用于执行此类活动。

    为了使它们导航到其他页面,您需要将它们与客户端脚本结合起来,并使它们按照您的要求运行。例如

    $(function() {
        $("#<%=ddl.ClientID%>").change(function(e) {
            var selectedUrl = $(this).val();
            window.location.href = selectedUrl;
        });
    });
    

    您也可以使用ResolveURL()ResolveClientUrl() 分别创建到根目录或相对于当前页面的相对路径,然后将它们分配给ddl 值。

    list.value = ResolveUrl("~/template1.aspx"); 
    
    /*or*/
    
    list.value = ResolveClientUrl("~/template1.aspx");
    

    【讨论】:

    • 感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多