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

时间:2012-07-23 17:09:01

标签: vb.net

我不确定这有多难,但我的checkboxList包含从数据库中填充的值。

这是标记:

<asp:CheckBoxList runat="server" ID="sects">

fieldname是doclist,我将值读入:

While objReader.Read()
  With objReader
    Dim li As New ListItem(objReader(0).ToString())
    sects.Items.Add(li)
  End With
End While

到目前为止效果很好。在很大程度上要归功于我来到这里的巨大帮助。

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

以下是网址:

http://default.html我们想连接它,所以看起来像这样:

http://default.html?parts="+sects.Items.Add(li)+"&docs=answers&name=meter.zip"

这不起作用。我收到一个错误,“这不会产生值

我们要完成的是使用包含该网址中的sects值的url字符串填充checkboxList。

任何想法如何让这个工作?

对不起伙计我只是继续回来了。在来到这里之前,我确实先尝试修复。

3 个答案:

答案 0 :(得分:0)

尝试:

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

http://default.html?parts="+sects.Items(//Index of Item).ToString()+"&docs=answers&name=meter.zip" 

或者:(对于asp来说已经有一段时间了,但我觉得这样的事情是可以的)

sects.SelectedValue.ToString()

部分sects.Items.Add(li)是将对象添加到CheckBoxList

答案 1 :(得分:0)

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

你需要遍历复选框列表中的项目,并将它们的值作为字符串附加,然后将该字符串添加到URL,这样就可以获得所有值。同样在上面的代码中,我使用“_”作为分隔符来标识每个项目值。

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

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

    }

答案 2 :(得分:0)

好的,我想我明白了。我删除了链接按钮,并且我更改了列表项,因此显示的文本是一个包含其中数据库字段的URL,作为URL参数。该值本身仍为数据库字段。但是,如果我可以问,这是什么样的设计?它看起来很不稳定。您可以使用不同的数据导航到这些页面吗?您希望允许多个选择,但是如何通过此路线将其考虑在内。如果您不希望用户能够进行多项选择,则应使用drop drown列表。我希望这对你有用,但我怀疑这个要求及其实现背后的逻辑。

标记:

<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