【问题标题】:VB.NET Get Value on Click from List BoxVB.NET 从列表框中获取点击值
【发布时间】:2016-04-12 14:09:06
【问题描述】:

我有带有 SQL 表名称的附件列表,当我选择一个文件时,它会从服务器下载它。我需要选择名称并获取文件名(值字段) 我能够顺利运行它,但是当我从列表中选择时,它给了我原始文件名。 有代码:

   Protected Sub listload()
    key = CardView.GetCardValues(CardView.FocusedCardIndex, CardView.KeyFieldName)
    Dim sql As String = String.Format("Select Name,[File] from tblFile where ParentType='Contract' and ParentID = '{0}' order by ID", key)
    Dim conn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("ProjectC").ConnectionString)
    Dim SelectCommand As New SqlCommand(sql, conn)
    conn.Open()
    attlist.Items.Clear()
    Dim Reader As SqlDataReader = SelectCommand.ExecuteReader()
    While Reader.Read()
        If Reader.HasRows Then
            attlist.Items.Add(Reader("Name").ToString)
            attlist.ValueField = Reader("File").ToString
        End If
    End While
    conn.Close()
    conn.Dispose()
End Sub

Protected Sub attlist_SelectedIndexChanged(sender As Object, e As EventArgs) Handles attlist.SelectedIndexChanged
    Response.ContentType = "APPLICATION/OCTET-STREAM"
    Dim Header As [String] = "Attachment; Filename=" + attlist.SelectedItem.Value
    Response.AppendHeader("Content-Disposition", Header)
    Dim Dfile As New System.IO.FileInfo(Server.MapPath("~/Files/Attachments/" + attlist.SelectedItem.Value))
    Response.WriteFile(Dfile.FullName)
    Response.[End]()
End Sub

Column [Name] 是显示的名称,Column [File] 是附件 感谢你的帮助 谢谢。

【问题讨论】:

    标签: sql asp.net vb.net


    【解决方案1】:

    您需要添加 ListItem 类型的对象来填充 Text 和 Value 属性。正确的代码是:

     While Reader.Read()
        If Reader.HasRows Then
            attlist.Items.Add(new ListItem(Reader("Name").ToString(),Reader("File").ToString()))
        End If
    End While
    

    【讨论】:

      猜你喜欢
      • 2022-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多