[SQL] ASP.NET을 사용하여 모든 이미지를 선택
SQLASP.NET을 사용하여 모든 이미지를 선택
나는 ASP.NET과 C # 새로운 오전. 나는 폴더에서 모든 이미지를 검색하고 페이지에 표시하려고하지만, 그것은 단지 하나 개의 이미지를 선택합니다.
내 ASP.NET 코드 :
<form id="form1" runat="server" class="col-lg-5">
<asp:Image ID="Image" runat="server" />
</form>
내 C # 코드 :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
namespace Blog
{
public partial class index : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["blogconnection"].ToString());
protected void Page_Load(object sender, EventArgs e)
{
con.Open();
string allimage;
string qry="select * from images";
SqlCommand cmd = new SqlCommand(qry, con);
SqlDataReader dr =cmd.ExecuteReader();
if (dr.HasRows)
{
while(dr.Read())
{
if (!string.IsNullOrEmpty(Convert.ToString(dr["Image_Path"])))
{
Image.ImageUrl = Convert.ToString(dr["Image_Path"]);
}
}
}
con.Close();
}
}
}
내가 원하는 : 나는 SQL 테이블의 저장소입니다 경로의 모든 이미지를 선택합니다.
추가 : 다른 폴더에서 비디오 및 이미지를 선택하고 지정된 날짜 또는 최신 업로드 등으로 같은 페이지에 모두 보여 평균 경로는 SQL에 저장이 폴더에서 비디오를 선택하는 방법이있다
어떤 도움을 이해할 수있을 것이다.
편집 # 1
PHP에서 내가 모든 이미지를 얻기 위해 코드 아래 사용하고 보여, ASP.NET에서 아래의 코드에 어떤 일에 해당이있다?
PHP 코드
<?php
include 'conn.php';
$smt=$conn->prepare('SELECT * FROM post');
$smt->execute();
?>
<?php include 'header.php';
?>
<div class="">
<?php
if(isset($_SESSION['user']))
{
include 'nav.php';
}
else
{
include 'nav-simple.php';
}
?>
<?php include 'slider.php';?>
<?php include 'right_sidebar.php';?>
<div class="col-md-1 top_space"></div>
<div class="container col-md-8 main-container-top">
<br/>
<div class="">
<?php while ($gdata = $smt->fetch(PDO::FETCH_OBJ)): ?>
<a href="#" class="col-md-4"><img src="posts/<?php echo $gdata->Post_Path; ?>" alt="image" class="post-image"/></a>
<div class="media-body col-md-8 post pull-left">
<div class="post-overview">
<ul>
<li class="post-category"><?php echo $gdata->Category; ?></li>
<li class="post-timestemp">Post on <?php echo $gdata->Post_Date; ?></li>
</ul>
<a href="post-description.php?id=<?php echo $gdata->Id ?>"><h4
class="media-heading h4"><?php echo $gdata->Title; ?></h4></a>
<p class="post-text"><?php echo $gdata->Post; ?></p><br/>
</div>
</div>
<div class="post-image-space"></div>
<?php endwhile;?>
해결법
-
==============================
1.쓰기이 (또한이 문을 사용하여 사용하는 것이 좋습니다)와 같은 문자열의 목록으로 이미지를 검색하는 사용자의 컬렉션 () 메소드 뒤에 코드에서 :
쓰기이 (또한이 문을 사용하여 사용하는 것이 좋습니다)와 같은 문자열의 목록으로 이미지를 검색하는 사용자의 컬렉션 () 메소드 뒤에 코드에서 :
protected IEnumerable<string> Collection() { string address = ConfigurationManager.ConnectionStrings["blogconnection"].ToString(); using (SqlConnection con = new SqlConnection(address)) { con.Open(); string qry = "select * from images"; SqlCommand cmd = new SqlCommand(qry, con); using (SqlDataReader dr = cmd.ExecuteReader()) { if (!dr.HasRows) return allimage; while (dr.Read()) { if (!string.IsNullOrEmpty(Convert.ToString(dr["Image_Path"]))) { yield return (dr["Image_Path"].ToString()); } } } } }
다음 중 당신은 ASP를 사용할 수 있습니다 리피터를 다음과 같이 :
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="imgCats"> <ItemTemplate> <div> <img src='<%# Container.DataItem.ToString() %>' alt="" /> </div> </ItemTemplate> </asp:Repeater> <asp:ObjectDataSource ID="imgCats" runat="server" SelectMethod="Collection" TypeName="WebApplication1.WebForm8"> </asp:ObjectDataSource>
또는 당신은 이런 식으로 작업을 수행 할 수 있습니다 :
<form id="form1" runat="server" class="col-lg-5"> <div> <ul> <% var drc = Collection(); foreach (var item in drc) { %> <li> <img src="<%: item %>"/> </li> <% } %> </ul> </div> </form>
-
==============================
2.Form1에로 이미지 오브젝트 : 동적으로 새 ASP를 추가 할 수 있습니다.
Form1에로 이미지 오브젝트 : 동적으로 새 ASP를 추가 할 수 있습니다.
Image img = new Image(); img.ImageUrl = dr["Image_Path"].ToString(); img.AlternateText = "Test image"; form1.Controls.Add(img);
-
==============================
3.문제는이 성명에서입니다 :
문제는이 성명에서입니다 :
Image.ImageUrl = Convert.ToString(dr["Image_Path"]);
이 말씀은 무엇입니까? 그것은 오직 하나 Image.ImageUrl 각 이미지 경로 값을 할당한다. 그래서, Image.ImageUrl 마지막 할당 된 이미지 경로를 개최한다. 결과는 단 하나의 사진이 표시 될 것입니다. 이것은 당신이 원하는 없습니다.
당신이 원하는 것은 : 모든 사진을 보여 -> 각 Image.ImageUrl에 각각의 이미지 경로를 지정 -> 동적으로 이미지를 생성하고 폼에 추가. 그래서, 문을 작성하는 대신, 당신이 뭔가를 같이해야한다 :
Image img = new Image(); img.ImageUrl = dr["Image_Path"].ToString(); img.AlternateText = "Test image"; form1.Controls.Add(img);
코드는 테스트되지 않은 상태입니다. 그냥 아이디어에 초점을 맞 춥니 다. 당신은 이런 식으로 그것을 할, 또는 리피터, 또는 자신 만의 방법을 사용할 수 있습니다, 그것은 당신에게 달려 있습니다.
당신은 분명 뭔가를 발견하면 나 한테 물어 주시기 바랍니다 :)
-
==============================
4.사용자 정의도 스타일링으로 원하는대로 디스플레이 이미지 컨트롤을 사용할 수 있습니다
사용자 정의도 스타일링으로 원하는대로 디스플레이 이미지 컨트롤을 사용할 수 있습니다
-
==============================
5.1) 그것의 명백한 단일 HTML 개체에 여러 이미지를 표시 할 수 없습니다. 당신은 당신의 페이지를 표시 할 방법에 따라 리피터,의 GridView 또는 데이터 그리드 또는 동적 HTML 생성을 사용할 수 있어야합니다 (즉. HTML 디자인)
1) 그것의 명백한 단일 HTML 개체에 여러 이미지를 표시 할 수 없습니다. 당신은 당신의 페이지를 표시 할 방법에 따라 리피터,의 GridView 또는 데이터 그리드 또는 동적 HTML 생성을 사용할 수 있어야합니다 (즉. HTML 디자인)
당신이 리피터, GRIDVIEW 또는에서 Datagrid를 초기화 완료 후 2) 팔로우 ASP.NET 페이지의 라이프 사이클 이벤트가 제대로) 이벤트를 (귀하의 경우는 PageLoad (에서 코드를 작성할 수 있습니다)
3)) 당신은 또한 비디오를 표시 할 수 있지만, 당신이 어떤 선수가 필요하다고, 그것은 훨씬 간단하지 않습니다에 대한 (당신은 타사 도구를 사용할 수 있습니다
-
==============================
6.나는 그것이 작동하도록 코드를 수정했습니다. 대신 영문에서 정의하는 이미지는 코드 뒤에서 동적으로 추가 할 수 있습니다.
나는 그것이 작동하도록 코드를 수정했습니다. 대신 영문에서 정의하는 이미지는 코드 뒤에서 동적으로 추가 할 수 있습니다.
수정 된 ASP.NET 코드 :
<form id="form1" runat="server" class="col-lg-5"> </form>
수정 된 C # 코드 :
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Data; using System.Configuration; namespace Blog { public partial class index : System.Web.UI.Page { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["blogconnection"].ToString()); protected void Page_Load(object sender, EventArgs e) { con.Open(); string allimage; string qry="select * from images"; SqlCommand cmd = new SqlCommand(qry, con); SqlDataReader dr =cmd.ExecuteReader(); if (dr.HasRows) { while(dr.Read()) { if (!string.IsNullOrEmpty(Convert.ToString(dr["Image_Path"]))) { Image img = new Image(); img.ImageUrl = dr["Image_Path"].ToString(); img.AlternateText = dr["Image_Path"].ToString(); form1.Controls.Add(img); } } } con.Close(); } } }
-
==============================
7.나는 여기에 몇 가지 스크린 샷을 추가하면 여기부터 계속 할 수 있기를 바랍니다있다.
나는 여기에 몇 가지 스크린 샷을 추가하면 여기부터 계속 할 수 있기를 바랍니다있다.
from https://stackoverflow.com/questions/33597934/select-all-images-using-asp-net by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 서버 : .txt 파일로 내보내기 쿼리 (0) | 2020.07.13 |
---|---|
[SQL] 바인드 SQL 2005에서 함수에 열 기본값 (0) | 2020.07.13 |
[SQL] ORA-00907은 오른쪽 괄호 문제를 누락 - 내부에 삽입 쿼리에 의해 주문 선택 (0) | 2020.07.13 |
[SQL] MS 액세스 쿼리에서 날짜를 문자열로 변환 (0) | 2020.07.13 |
[SQL] 매개 변수를 사용하여 SQL 쿼리에서 와일드 카드를 사용하는 방법 (0) | 2020.07.13 |