Я недавно добавил фотографии в свою базу данных SQL и отобразил их на странице * .aspx, используя Asp: Image. ImageUrl для этого элемента управления хранится на отдельной странице * .aspx. Отлично работает для фотографий профиля.
У меня под рукой новая проблема. Мне нужно, чтобы у каждого пользователя была своя страница фотогалереи. Я хочу, чтобы фотографии были сохранены в базе данных SQL. Хранить фотографии не сложно. Проблема с отображением фотографий. Я хочу, чтобы фотографии сохранялись в виде сетки миниатюр, когда пользователь нажимает на фотографию, она должна поднять фотографию на отдельной странице.
Какой лучший способ сделать это. Очевидно, что это не использовать Asp: Image. Мне любопытно, должен ли я использовать Gridview. Если да, то как мне это сделать, и должен ли размер их миниатюры сохраняться в базе данных для этого?
После того, как на картинке кликнуть, как выглядит другая страница, чтобы на ней отображалось правильное изображение. Я думаю, что не правильно отправлять photoId через URL.
Ниже приведен код со страницы, которую я использую для отображения фотографий профиля.
защищенный void Page_Load (отправитель объекта, EventArgs e)
{
string sql = "SELECT [ProfileImage] FROM [UserProfile] WHERE [UserId] = '" + User.Identity.Name.ToString() + "'";
string strCon = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SocialSiteConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(strCon);
SqlCommand comm = new SqlCommand(sql, conn);
conn.Open();
Response.ContentType = "image/jpeg";
Response.BinaryWrite((byte[])comm.ExecuteScalar());
conn.Close();
}