PDA

View Full Version : خواندن آدرس عکس از دیتابیس و نمایش تصویر



ali_autumnal
سه شنبه 18 مرداد 1390, 12:39 عصر
با سلام و خسته نباشید.

با کد زیر از دیتابیس آدرس عکس رو میخونم اما تصویر رو نمایش نمیده.




<img src="<%#DataBinder.Eval(Container.DataItem, "pic")%>" alt="" width="30%" height="30%" />



متشکرم
علی پاییزی

ASPX
سه شنبه 18 مرداد 1390, 12:46 عصر
آیا آدرس عکس درسته؟
در ضمن از کنترل image خود دات نت استفاده کن

<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/"+DataBinder.Eval(Container.DataItem, "pic")%>' />

ali_autumnal
سه شنبه 18 مرداد 1390, 12:55 عصر
آدرس عکس دقیقا درسته. کنترل رو هم عوض میکنم هیچ فرقی نمیکنه!

ASPX
سه شنبه 18 مرداد 1390, 13:20 عصر
تو سورس صفحه برای src چی مینویسه ؟ خالیه ؟

ali_autumnal
سه شنبه 18 مرداد 1390, 13:36 عصر
تو سورس صفحه برای src چی مینویسه ؟ خالیه ؟

آره خالیه.

ASPX
سه شنبه 18 مرداد 1390, 13:46 عصر
وقتی خالیه یعنی فیلد pic خونده نشده! که مقدار دهی بشه مشکل رو باید در کدتان جسجو کرد کد ا قرار دهید!

ali_autumnal
سه شنبه 18 مرداد 1390, 15:17 عصر
وقتی خالیه یعنی فیلد pic خونده نشده! که مقدار دهی بشه مشکل رو باید در کدتان جسجو کرد کد ا قرار دهید!


آخه همه کدا درسته!! یعنی دارم 10 تا فیلید میخونم. یکی از اون 10 تا فیلید این عکس. همه اون 9 فیلد رو بدرستی نمایش میده. فقط این تکه کد درست عمل نمیکنه.

کدها از این قبیل هستند:




<asp:Repeater ID="RepeaterBody" runat="server">
<AlternatingItemTemplate>
<div class="cheader">
</div>
<div class="hgreen">
</div>
<div class="maincontentc">
<div class="content">
<div class="headertext">
<%#DataBinder.Eval(Container.DataItem, "mozue")%>
</div>
<br />
<b>نام کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bname")%><br />
<b>توضیحات:</b>
<%#DataBinder.Eval(Container.DataItem, "btext")%>
<br />
<b>تصویری از طرح روی جلد کتاب:</b>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/"+DataBinder.Eval(Container.DataItem, "pic")%>' />
<br />
<b>مولف:</b>
<%#DataBinder.Eval(Container.DataItem, "fname")%>
<%#DataBinder.Eval(Container.DataItem, "lname")%>
<br />
<b>ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "nasher")%>
<br />
<b>مربوط به رشته:</b>
<%#DataBinder.Eval(Container.DataItem, "sname")%>
<br />
<b>کد کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bid")%>


<br />
<b>سال چاپ:</b>
<%#DataBinder.Eval(Container.DataItem, "printyear")%>
<br />
<b>تعداد نسخه:</b>
<%#DataBinder.Eval(Container.DataItem, "someprint")%>
<br />
<b>شابک:</b>
<%#DataBinder.Eval(Container.DataItem, "shabek")%>
<br />
<b>تعداد صفحات:</b>
<%#DataBinder.Eval(Container.DataItem, "somepage")%>
<br />
<b>قیمت کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bprice")%>
<br />
<b>شماره تماس ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "tel")%>
<br />
<b>شماره فکس ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "fax")%>
</div>
</div>
<br />
</AlternatingItemTemplate>
<ItemTemplate>
<div class="cheader">
</div>
<div class="hgreen">
</div>
<div class="maincontentc">
<div class="content">
<div class="headertext">
<%#DataBinder.Eval(Container.DataItem, "mozue")%>
</div>
<br />
<b>نام کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bname")%><br />
<b>توضیحات:</b>
<%#DataBinder.Eval(Container.DataItem, "btext")%>
<br />
<b>تصویری از طرح روی جلد کتاب:</b>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/"+DataBinder.Eval(Container.DataItem, "pic")%>' />
<br />
<b>مولف:</b>
<%#DataBinder.Eval(Container.DataItem, "fname")%>
<%#DataBinder.Eval(Container.DataItem, "lname")%>
<br />
<b>ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "nasher")%>
<br />
<b>مربوط به رشته:</b>
<%#DataBinder.Eval(Container.DataItem, "sname")%>
<br />
<b>کد کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bid")%>

<br />
<b>سال چاپ:</b>
<%#DataBinder.Eval(Container.DataItem, "printyear")%>
<br />
<b>تعداد نسخه:</b>
<%#DataBinder.Eval(Container.DataItem, "someprint")%>
<br />
<b>شابک:</b>
<%#DataBinder.Eval(Container.DataItem, "shabek")%>
<br />
<b>تعداد صفحات:</b>
<%#DataBinder.Eval(Container.DataItem, "somepage")%>
<br />
<b>قیمت کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bprice")%>
<br />
<b>شماره تماس ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "tel")%>
<br />
<b>شماره فکس ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "fax")%>
</div>
</div>
<br />
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
اینم کد #C:




protected SqlConnection cnn = new SqlConnection(WebConfigurationManager.ConnectionSt rings["DBConnectionString"].ConnectionString);

protected void WriteToCenterBid()
{
cnn.Open();
string strCommand = "SELECT tblBook.bid, tblBook.mozue, tblBook.bname, tblBook.btext, tblBook.printyear, tblBook.someprint, tblBook.shabek, tblBook.somepage, " +
"tblBook.bprice, tblBook.pic, tblMoalef.fname, tblMoalef.lname, tblNasher.nasher, tblNasher.tel, tblNasher.fax, tblStudy.sname " +
"FROM tblBook INNER JOIN tblMoalef ON tblBook.mid = tblMoalef.mid INNER JOIN tblNasher ON tblBook.nid = tblNasher.nid INNER JOIN tblStudy ON tblBook.sid = tblStudy.sid and tblBook.bid='"+strCode +"';";
SqlDataAdapter dtAdap = new SqlDataAdapter(strCommand, cnn);
DataSet dset = new DataSet();
dtAdap.Fill(dset, "Content");
RepeaterBody.DataMember = "Content";
RepeaterBody.DataSource = dset.Tables["Content"].DefaultView;
RepeaterBody.DataBind();
cnn.Close();
}

ali_autumnal
سه شنبه 18 مرداد 1390, 22:34 عصر
کسی از دوستان پاسخ نمیده به این تایپیک؟
منتظرم
متشکر

ali_autumnal
جمعه 21 مرداد 1390, 10:14 صبح
کسی نمیخواد مشکل منو حل کنه؟
منتظرم

moslem.hady
جمعه 21 مرداد 1390, 10:24 صبح
با سلام. من از کد شما سر در نمیارم. اولین باره اینطوری مقدار دادن رو میبینم. خودم اینطوری به عکس آدرس میدم:
<%# Eval("pic", "~/images/{0}") %>

ali_autumnal
جمعه 21 مرداد 1390, 16:06 عصر
سلام

مشکل حل شد. ایراد کار 2 کاراکتر اضافه بوده:

کد اول:

<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/"+DataBinder.Eval(Container.DataItem, "pic")%>' />

کد اصلاح شده:


<asp:Image ID="Image1" runat="server" ImageUrl='<%#DataBinder.Eval(Container.DataItem, "pic")%>' />

متشکرم

pooya_1868
جمعه 23 دی 1390, 18:08 عصر
آخه همه کدا درسته!! یعنی دارم 10 تا فیلید میخونم. یکی از اون 10 تا فیلید این عکس. همه اون 9 فیلد رو بدرستی نمایش میده. فقط این تکه کد درست عمل نمیکنه.

کدها از این قبیل هستند:




<asp:Repeater ID="RepeaterBody" runat="server">
<AlternatingItemTemplate>
<div class="cheader">
</div>
<div class="hgreen">
</div>
<div class="maincontentc">
<div class="content">
<div class="headertext">
<%#DataBinder.Eval(Container.DataItem, "mozue")%>
</div>
<br />
<b>نام کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bname")%><br />
<b>توضیحات:</b>
<%#DataBinder.Eval(Container.DataItem, "btext")%>
<br />
<b>تصویری از طرح روی جلد کتاب:</b>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/"+DataBinder.Eval(Container.DataItem, "pic")%>' />
<br />
<b>مولف:</b>
<%#DataBinder.Eval(Container.DataItem, "fname")%>
<%#DataBinder.Eval(Container.DataItem, "lname")%>
<br />
<b>ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "nasher")%>
<br />
<b>مربوط به رشته:</b>
<%#DataBinder.Eval(Container.DataItem, "sname")%>
<br />
<b>کد کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bid")%>


<br />
<b>سال چاپ:</b>
<%#DataBinder.Eval(Container.DataItem, "printyear")%>
<br />
<b>تعداد نسخه:</b>
<%#DataBinder.Eval(Container.DataItem, "someprint")%>
<br />
<b>شابک:</b>
<%#DataBinder.Eval(Container.DataItem, "shabek")%>
<br />
<b>تعداد صفحات:</b>
<%#DataBinder.Eval(Container.DataItem, "somepage")%>
<br />
<b>قیمت کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bprice")%>
<br />
<b>شماره تماس ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "tel")%>
<br />
<b>شماره فکس ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "fax")%>
</div>
</div>
<br />
</AlternatingItemTemplate>
<ItemTemplate>
<div class="cheader">
</div>
<div class="hgreen">
</div>
<div class="maincontentc">
<div class="content">
<div class="headertext">
<%#DataBinder.Eval(Container.DataItem, "mozue")%>
</div>
<br />
<b>نام کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bname")%><br />
<b>توضیحات:</b>
<%#DataBinder.Eval(Container.DataItem, "btext")%>
<br />
<b>تصویری از طرح روی جلد کتاب:</b>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/"+DataBinder.Eval(Container.DataItem, "pic")%>' />
<br />
<b>مولف:</b>
<%#DataBinder.Eval(Container.DataItem, "fname")%>
<%#DataBinder.Eval(Container.DataItem, "lname")%>
<br />
<b>ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "nasher")%>
<br />
<b>مربوط به رشته:</b>
<%#DataBinder.Eval(Container.DataItem, "sname")%>
<br />
<b>کد کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bid")%>

<br />
<b>سال چاپ:</b>
<%#DataBinder.Eval(Container.DataItem, "printyear")%>
<br />
<b>تعداد نسخه:</b>
<%#DataBinder.Eval(Container.DataItem, "someprint")%>
<br />
<b>شابک:</b>
<%#DataBinder.Eval(Container.DataItem, "shabek")%>
<br />
<b>تعداد صفحات:</b>
<%#DataBinder.Eval(Container.DataItem, "somepage")%>
<br />
<b>قیمت کتاب:</b>
<%#DataBinder.Eval(Container.DataItem, "bprice")%>
<br />
<b>شماره تماس ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "tel")%>
<br />
<b>شماره فکس ناشر:</b>
<%#DataBinder.Eval(Container.DataItem, "fax")%>
</div>
</div>
<br />
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
اینم کد #C:




protected SqlConnection cnn = new SqlConnection(WebConfigurationManager.ConnectionSt rings["DBConnectionString"].ConnectionString);

protected void WriteToCenterBid()
{
cnn.Open();
string strCommand = "SELECT tblBook.bid, tblBook.mozue, tblBook.bname, tblBook.btext, tblBook.printyear, tblBook.someprint, tblBook.shabek, tblBook.somepage, " +
"tblBook.bprice, tblBook.pic, tblMoalef.fname, tblMoalef.lname, tblNasher.nasher, tblNasher.tel, tblNasher.fax, tblStudy.sname " +
"FROM tblBook INNER JOIN tblMoalef ON tblBook.mid = tblMoalef.mid INNER JOIN tblNasher ON tblBook.nid = tblNasher.nid INNER JOIN tblStudy ON tblBook.sid = tblStudy.sid and tblBook.bid='"+strCode +"';";
SqlDataAdapter dtAdap = new SqlDataAdapter(strCommand, cnn);
DataSet dset = new DataSet();
dtAdap.Fill(dset, "Content");
RepeaterBody.DataMember = "Content";
RepeaterBody.DataSource = dset.Tables["Content"].DefaultView;
RepeaterBody.DataBind();
cnn.Close();
}



میشه لطفا یکی در مورد این کاری که دوستمون کرده یه توضیحی بده !!
که چطور تو محیط کدنویسی asp بانک رو فراخوانی کرده ؟ و به فیلد هت دسترسی پیدا کرده ؟!
خیلی خیلی ممنون میشم....

sarapepors
جمعه 23 دی 1390, 21:14 عصر
میشه لطفا یکی در مورد این کاری که دوستمون کرده یه توضیحی بده !!
که چطور تو محیط کدنویسی asp بانک رو فراخوانی کرده ؟ و به فیلد هت دسترسی پیدا کرده ؟!
خیلی خیلی ممنون میشم....

سلام شما میتونید از کنترل های داده ای asp.net مانند گرید ویو ریپیتر و... به صورت template استفاده کنید وقتی این کار رو میکنید می تونید در این کنترل ها از تگهای html استفاده کنید. البته باید کنترل های .net ابتدا بایند کنید به دیتا بیس.

crazy_1892
جمعه 23 دی 1390, 21:19 عصر
این لینک با استفاده از linq است

http://how2learnasp.net/article.aspx?code=f280288c-4814-4ce6-9f91-de64da7f38c1