Vb.net 如何将db字段附加到url字符串中?

Vb.net 如何将db字段附加到url字符串中?,vb.net,Vb.net,我不确定这有多困难,但我有一个从数据库填充的带有值的复选框列表 这是标记: <asp:CheckBoxList runat="server" ID="sects"> 到目前为止效果很好。在很大程度上要感谢我在这里得到的巨大帮助 但是,我们希望将与sects.Items.Add(li)关联的值连接到url中 以下是网址: 我们希望将其连接起来,使其看起来像这样: http://default.html?parts="+sects.Items.Add(li)+"&docs=an

我不确定这有多困难,但我有一个从数据库填充的带有值的复选框列表

这是标记:

<asp:CheckBoxList runat="server" ID="sects">
到目前为止效果很好。在很大程度上要感谢我在这里得到的巨大帮助

但是,我们希望将与sects.Items.Add(li)关联的值连接到url中

以下是网址:

我们希望将其连接起来,使其看起来像这样:

http://default.html?parts="+sects.Items.Add(li)+"&docs=answers&name=meter.zip"
这不管用。我得到一个错误,“这不会产生一个值

我们试图完成的是用url字符串填充复选框列表,该url字符串包含该url中的sects值

你有什么办法让它工作吗

抱歉,伙计们,我只是不断地回来索取更多。在来这里之前,我会先尝试修复。

尝试:

sects.Items(//Index of Item).ToString()

http://default.html?parts="+sects.Items(//Index of Item).ToString()+"&docs=answers&name=meter.zip" 
或者:(对于asp来说已经有一段时间了,但我认为类似的东西是可用的)

sects.Items.Add(li)
部分是将对象添加到复选框列表中

string urlpend=null;
    string urlappend = null;
    for (int i = 0; i < CheckBoxList1.Items.Count; i++)
    {
        urlappend += CheckBoxList1.Items[i].Value + "_";
    }
对于(int i=0;i
您需要循环检查复选框列表中的项目,并将它们的值作为字符串附加,然后将该字符串添加到URL,这样将获得所有值。同样,在上面的代码中,我使用“\ux”作为分隔符来标识每个项目的值

如果您只想要选定的项目,则可以添加以下条件

    for (int i = 0; i < CheckBoxList1.Items.Count; i++)
    {
        if(CheckBoxList1.Items[i].Selected)
        urlappend += CheckBoxList1.Items[i].Value + "_";

    }
for(int i=0;i
好的,我想我理解得更清楚了。我已经删除了链接按钮,并修改了列表项,因此显示的文本是一个URL,其中包含数据库字段,作为URL参数。该值仍然是数据库字段本身。但是如果我可以问,这是一种什么样的设计?它看起来非常不稳定。你能导航到这些页面吗呈现了不同数据的用户?您希望允许多个选择,但通过这种方式如何考虑到这一点。如果您不希望用户能够有多个选择,您应该使用下拉列表。我希望这对您有效,但我怀疑这一要求背后的逻辑及其影响营养素

标记:

<asp:CheckBoxList runat="server" ID="sect" CssClass="checkAll" AutoPostBack="true" >
</asp:CheckBoxList>   

你想选择一个单一的值吗?或者如果他们选择了多个项目,你想把它们全部捕获吗?为什么把它放在URL上?对于多个值,考虑一个session对象。是的,@ GrayFXX74;很高兴再次听到你的意见。用户可以选择一个或多个URL。尝试布局。根据您提供的这两个极好的解决方案,它们在一定程度上取决于单击按钮,不是吗?就像您之前提供的帮助一样(再次是thaks),而不是显示文本,我们希望它们现在显示为链接。是的,该代码应该放在按钮或链接事件中,您希望使用该按钮或链接事件移动到default.html,它应该正确地为default.aspx。我不理解您所说的“我们希望它们现在显示为链接”是什么意思。请澄清。例如,您刚才帮助过我的这个解决方案:它根据数据库中的记录数显示一个复选框列表。每个复选框的值都填充在value=”“属性中,并显示为文本。例如,您将看到value=“Miracle Alley”以及文本Miracle Alley。我们现在希望这些值是一个链接,如下面的示例所示:好的,那么您希望显示一个链接,但不一定要将它们移动到那里?当他们正在选中和取消选中时,是否要链接以反映更改?您好@Jmyster,您是正确的sects.Items.Add(li)将对象添加到复选框列表中。如何用url替换这个sects.Items.Add(li),以便现在url显示在checkboxlist控件中?谢谢你的及时回复。对不起,我没听清你在这里说的话。我太激动了,忘了通读。他们说他们想要的是将db值添加到复选框值中。然后,用户将选择一个或多个复选框,然后单击类似“获取选中项”的内容,这些值将附加到url以形成带有参数的完整url,然后这些参数将重定向到另一个页面以打印所有选定的文档。我觉得在复选框中添加url会更容易。如果我搞砸了,我会查清楚的。是的,我想你想要我的第一个解决方案。这个没有附加,但那个附加了。祝你好运
    for (int i = 0; i < CheckBoxList1.Items.Count; i++)
    {
        if(CheckBoxList1.Items[i].Selected)
        urlappend += CheckBoxList1.Items[i].Value + "_";

    }
<asp:CheckBoxList runat="server" ID="sect" CssClass="checkAll" AutoPostBack="true" >
</asp:CheckBoxList>   
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        Dim strSQL As String = "SELECT AppealNumber FROM Appeals"
        Dim connStr As String = ConfigurationManager.ConnectionStrings("connstr").ConnectionString
        Dim conn As New SqlConnection(connStr)
        Dim cmd As New SqlCommand(strSQL, conn)
        Dim objReader As SqlDataReader
        conn.Open()
        objReader = cmd.ExecuteReader()
        '   |||||   Loop through the Reader to retrieve data    
        '   |||||   and set each checkbox to appropriate data from datasource
        While objReader.Read()
            With objReader
                Dim li As New ListItem("Default.aspx?parts=" + objReader(0).ToString(), objReader(0).ToString())
                sect.Items.Add(li)
            End With
        End While
    End If
End Sub