2014-11-28 2 views
0

у меня есть эти элементы управления на моей странице:Сохранение фотографий в папке и отображать их в GridView

<p> 
    <asp:FileUpload ID="FileUpload1" runat="server" /> 
</p> 
<p> 
    <asp:Button ID="Button1" runat="server" Text="Button" /> 
</p> 
<asp:GridView ID="GridView1" runat="server"> 
</asp:GridView> 

Существует foolder с именем «UplPics» в моем обозревателе решений и ниже VB.NET код в моей странице Defaul.aspx:

Imports System.IO 

Partial Class _Default 

Inherits System.Web.UI.Page 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not IsPostBack Then 
     Dim filePaths As String() = Directory.GetFiles(Server.MapPath("~/UplPics/")) 
     Dim files As New List(Of ListItem)() 
     For Each filePath As String In filePaths 
      Dim fileName As String = Path.GetFileName(filePath) 
      files.Add(New ListItem(fileName, "~/UplPics/" + fileName)) 
     Next 
     GridView1.DataSource = files 
     GridView1.DataBind() 
    End If 

End Sub 

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 
    If FileUpload1.HasFile Then 
     Dim fileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName) 
     FileUpload1.PostedFile.SaveAs(Server.MapPath("~/UplPics/") + fileName) 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End If 

End Sub 
End Class 

Когда я загрузить и загрузить свою веб-страницу, она не показывает фотографии, но показать URL каждой картины, как я мог показать фотографии, а не их URL ?

+0

Ну, потому что то будет именно то, что вы получаете ... вам нужно иметь столбец изображения .. – Codexer

+0

Как я должен изменить его, чтобы показать картину в GridView клетках? – user1605859

+0

Столбец изображения. Вы можете создать растровое изображение из местоположения и добавить его в список растрового изображения, а затем установить его в качестве источника данных. Вы уже получаете местоположение изображения, вы можете создать растровое изображение. – Codexer

ответ

1

После того, как GridView привязан к этому источнику данных. Этот GridView будет иметь 1 столбец BoundField, а это означает, что вместо просмотра фактического изображения мы увидим фактический путь изображения при просмотре GridView в браузере. Отметьте имя столбца столбца пути изображения.

Теперь, чтобы отобразить фактическое изображение, нам нужно отредактировать столбцы GridView, добавьте новый BoundField, скажем, ImageField. Затем установите DataImageUrlField ImageField в имя поля DataSource, содержащего путь к изображению (название столбца, указанное выше).

http://msdn.microsoft.com/en-us/library/aa479350.aspx

+0

Спасибо вам большое. Это сработало. – user1605859

+0

@ user1605859: добро пожаловать, и если вы удовлетворены ответом, вы можете отметить, что ответ или ответ метки полезны. – Vaibhav

Смежные вопросы