PDA

View Full Version : سوال: آپلود عکس و فراخوانی آن در صفحه



rezvan.j
پنج شنبه 11 شهریور 1389, 19:55 عصر
دوستان و استادان سلام.

من می خواهم یه گالری عکس درست کنم که مدیر عکس ها رو بزاره و کاربران اونها رو ببینند .

واسه این کار مدیر عکس ها رو آپلود می کنه تو پوشه ای به نام pic و مسیر اونها داخل دیتابیس ذخیره میشه . ( تا اینجا مشکلی نبود )


string select10 = "select * from pic ";

SqlDataAdapter da3 = new SqlDataAdapter(select10, connect);
DataSet ds3 = new DataSet();
da3.Fill(ds3);
if (ds3.Tables[0].Rows.Count != 0)
{
for (int i = 0; i < ds3.Tables[0].Rows.Count; i++)
{
Image2.ImageUrl = Convert.ToString(ds3.Tables[0].Rows[2].ItemArray.GetValue(1));
Image3.ImageUrl = Convert.ToString(ds3.Tables[0].Rows[3].ItemArray.GetValue(1));
Image1.ImageUrl = Convert.ToString(ds3.Tables[0].Rows[1].ItemArray.GetValue(1));

}
اینطوری می تونم سه تا عکسی که برنامشو نوشتم توی سه تا image بیارم ولی خب این اون چیزی که من می خوام نیست
اگه 100 تا عکس داشته باشم که نمی تونم 100 تا image بزارم .
این عکس ها رو هم مدیر میزاره با آپلود کردن و ذخیره مسیر در دیتابیس .
می خواستم با for بنویسم ولی جواب نداد دونه دونه عکس ها رو نوشتم .
باید آرایه از image تعریف کنم ؟
چی کار باید کنم ؟
:متفکر:

سپاس .

rezvan.j
جمعه 12 شهریور 1389, 01:52 صبح
با آرایه ای از image ها این کار حل میشه یا نه نیاز به آرایه نیست و باید داخل for اونا رو قرار داد ؟

rezvan.j
دوشنبه 15 شهریور 1389, 03:13 صبح
با گرید ویو یا دیتا لیست ؟؟؟

چجوری؟

ASPX
دوشنبه 15 شهریور 1389, 08:16 صبح
فرض كن يك گريد ويو داري كه به ديتا سورست وصل شده خب اين كد صفحه aspx ايت هستش


<asp:GridView ID="GridView1" runat="server" >
<Columns>

<asp:TemplateField >
<ItemTemplate>


<asp:Image ID="Image1" runat="server"
ImageUrl='<%# "~/images/"+Eval("imagePath") %>' />

</ItemTemplate>
</asp:TemplateField>

</Columns>
</asp:GridView>



با اين كار لزومي به درست كردن 100 تا image هم نيست خودش برات رندر ميكنه

تو صفحه هم كدت رو به صورت زير تغيير بده چون لزومي به حلقه و آرايه نداري البته با ديتا ليست و ديتا ريدر هم ميتوني كه عين همينه !


string select10 = "select * from pic ";

SqlDataAdapter da3 = new SqlDataAdapter(select10, connect);
DataSet ds3 = new DataSet();
da3.Fill(ds3);

GridView1.DataSource = ds3;
GridView1.DataBind();



------------
موفق باشيد

Ali_M.Eghbaldar
دوشنبه 15 شهریور 1389, 08:40 صبح
سلام
دوست من کنترل های Data این امکان به برنامه نویس می دن که از تکرار جلوگیری کنه !!