2016-04-12 14 views
0

Ben bir dosya seçin SQL Tablosundan Adları ile eklerin listesi var dan Tıklamasıyla değer al. Adını seçip Dosya adını almak için gerekenler (Değer Feild) Ben sorunsuz çalıştırmak mümkün ama Listesinden seçtiğinizde bana Orijinal Dosya adını verir. Kuralı vardır:VB.NET o Server indirmek Liste Kutusu

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 

Sütun [Ad] Görüntülenen isim ve Sütun [Dosya] senin yardım Teşekkür takdir eki olduğunu.

cevap

0

Sen Metin ve değer özelliklerini doldurmak için tip ListItem nesneleri eklemeniz gerekir. Doğru kod:

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

Teşekkürler Mükemmel çalışır. –