Я программирую приложение webform, которое отображает изображения. В настоящее время с помощью LocalServer код выглядит следующим образом:изображения не отображаются на веб-странице aspx
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach (string file in Directory.GetFiles(Server.MapPath("~/Data/")))
{
ImageButton ib = new ImageButton();
ib.ImageUrl = file;
ib.Width = Unit.Pixel(100);
ib.Height = Unit.Pixel(100);
ib.Style.Add("padding", "2px");
ib.Click += imageButton_Click;
Panel1.Controls.Add(ib);
}
}
private void imageButton_Click(object sender, ImageClickEventArgs e)
{
throw new NotImplementedException();
}
}
Webcode выглядит следующим образом:
src="file:///C:/folder/WebApplication1/Data/Chrysanthemum.jpg"
который выглядит отлично. На веб-странице отображается панель, но изображения не являются, а только заполнителями.
Пожалуйста, помогите я действительно Nubi в asp.net
Проблема не в качестве таковых, связанных с .NET, но на пути вашего файла. Физический путь на сервере, конечно же, не тот, который вы хотите использовать, вы должны хранить свои изображения в любой папке внутри вашего веб-сайта и указывать на него в своем HTML-источнике. –
Как это отличается от того, что я сделал? я использовал Server.MapPath(), папка находится внутри webroot – tal
cfr мой ответ ... не беспокойтесь, это распространенная ошибка. Однако важно понять разницу между физическим путем и веб-сайтом. Вы можете сохранить тот же физический путь, но, изменив конфигурацию IIS, веб-путь может быть совершенно другим. в основном пользователи вашего сайта не должны знать и не иметь ни малейшего представления о вашей иерархии папок на стороне сервера. –