PDA

View Full Version : سوال: سوال در مورد گالری عکس



jojo_abadani7
سه شنبه 12 مرداد 1389, 12:46 عصر
من میخواهم در یک صفحه گالری عکس هایی که تعدادشون مشخص نیست(چون کاربر ممکن که عکس وارد کند)در دو ستون نمایش دهد.کدی که خودم استفاده می کنم به صورت یک ستون نمایش می دهد.البته شرط if هم گذاشتم ولی فایده نداشت.
کدی که می نویسم:
mysqlcon = new SqlConnection(myconstr);
mycmdstr = "select IDStone,Type,ImageUrl from tblStone where StoneLevel=0";
mysqlcmd.CommandText = mycmdstr;
mysqlcmd.Connection = mysqlcon;
mysqlcon.Open();
string str = "<table>";
dr = mysqlcmd.ExecuteReader();
while (dr.Read())
{
str += "<tr><td><a href=\"ShowProduction.aspx?ID="+dr["IDStone"].ToString()+"\">" + dr["Type"].ToString() + "</a></td>";
str += "<td><img src=\"" + dr["ImageUrl"].ToString() + "\"></td></tr>";
}
str += "</table>";
lblshow.Text = str;
mysqlcon.Close();

salehbagheri
سه شنبه 12 مرداد 1389, 13:40 عصر
چرا دوست دارید لقمه رو دور سر بچرخونید؟

کافیه یک دیتالیست ایجاد کنید و مقدار ستونش رو برابر 2 قرار دهید و اطلاعات رو بهش Bind کنید.

همین!

jojo_abadani7
سه شنبه 12 مرداد 1389, 14:00 عصر
چرا دوست دارید لقمه رو دور سر بچرخونید؟

کافیه یک دیتالیست ایجاد کنید و مقدار ستونش رو برابر 2 قرار دهید و اطلاعات رو بهش Bind کنید.

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

salehbagheri
سه شنبه 12 مرداد 1389, 19:47 عصر
این گالری رو خودم 2 یا 3 سال پیش ساختم البته با مرورگرهای اون موقع جفت وجور بود اما الان کمی درهم میریزه که میتونید با کمی تغییرات در بخش Css مشکلش رو رفع کنید.
http://up.iranblog.com/Files/0c9672f0a16848ed87ca.png

اینم کدش:


<asp:DataList ID="ViewGallery" runat="server" RepeatColumns="2"
RepeatDirection="Horizontal" DataSourceID="GalleryDataSource">
<ItemTemplate>
<table class="GTable" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3" class="GTop">&nbsp;</td>
</tr>
<tr>
<td class="GRight">&nbsp;</td>
<td class="GCenter"><a target="_blank" onclick='openWindow("Photo.aspx?ImageID=" + <%#Eval("ImageID").ToString %>)'>
<asp:Image ID="Image1" ImageUrl='<%# "Others/Images/" + Eval("ImageUrl") %>' AlternateText='<%#Eval("Alternate") %>' runat="server" CssClass="GImage" />
</a></td>
<td class="GLeft">&nbsp;</td>
</tr>
<tr>
<td colspan="3" class="GBottom">&nbsp;</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>



گزینه RepeatColumns نشان دهنده تکرار ستونها هست. شما دوستونی میخواهید باید مقدارش رو 2 قرار دهید.

jojo_abadani7
چهارشنبه 13 مرداد 1389, 12:55 عصر
این گالری رو خودم 2 یا 3 سال پیش ساختم البته با مرورگرهای اون موقع جفت وجور بود اما الان کمی درهم میریزه که میتونید با کمی تغییرات در بخش Css مشکلش رو رفع کنید.
http://up.iranblog.com/Files/0c9672f0a16848ed87ca.png

اینم کدش:


<asp:DataList ID="ViewGallery" runat="server" RepeatColumns="2"
RepeatDirection="Horizontal" DataSourceID="GalleryDataSource">
<ItemTemplate>
<table class="GTable" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3" class="GTop">&nbsp;</td>
</tr>
<tr>
<td class="GRight">&nbsp;</td>
<td class="GCenter"><a target="_blank" onclick='openWindow("Photo.aspx?ImageID=" + <%#Eval("ImageID").ToString %>)'>
<asp:Image ID="Image1" ImageUrl='<%# "Others/Images/" + Eval("ImageUrl") %>' AlternateText='<%#Eval("Alternate") %>' runat="server" CssClass="GImage" />
</a></td>
<td class="GLeft">&nbsp;</td>
</tr>
<tr>
<td colspan="3" class="GBottom">&nbsp;</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>



گزینه RepeatColumns نشان دهنده تکرار ستونها هست. شما دوستونی میخواهید باید مقدارش رو 2 قرار دهید.
این کدی هست که من نوشتم ولی باز پیام خطا میده.میخواستم بدونم اشکال کار کجاست.در ضمن ImageID در ("Photo.aspx?ImageID=" + <%#Eval("ImageID").ToString %>) چی هست؟ و آیا Others/Images/ جایی هست که عکسها در اون ذخیره است؟
<asp:DataList ID="ViewProduction" runat="server" DataSourceID="SqlDataSource1" RepeatColumns="2" RepeatDirection="Horizontal" >
<ItemTemplate>
<table class="GTable" cellpadding="0" cellspacing="0">
<tr>
<td colspan="3" class="GTop">&nbsp;</td>
</tr>
<tr>
<td class="GRight">&nbsp;</td>
<td class="GCenter"><a target="_blank" onclick='openWindow("ShowProduction.aspx?IDStone=" + <%#Eval("IDStone").ToString %>)'>
<asp:Image ID="Image1" ImageUrl='<%# "Picture/" + Eval("ImageUrl") %>' AlternateText='<%#Eval("Alternate") %>' runat="server" CssClass="GImage" />
</a></td>
<td class="GLeft">&nbsp;</td>
</tr>
<tr>
<td colspan="3" class="GBottom">&nbsp;</td>
</tr>
</table>

</ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:travertineConnectionString %>"

SelectCommand="SELECT [Type], [ImageUrl], [IDStone] FROM [tblStone] WHERE ([StoneLevel] = @StoneLevel)">
<SelectParameters>
<asp:Parameter DefaultValue="0" Name="StoneLevel" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
----------------------------------------------------------------------------------------------------------------
خطاهایی که میده اینها هستن
Error 1 The best overloaded method match for 'System.Convert.ToString(object, System.IFormatProvider)' has some invalid arguments
Error 2 Argument '1': cannot convert from 'method group' to 'object

atefe_asadi
چهارشنبه 13 مرداد 1389, 14:36 عصر
آخه می خوام لینک هم داشته باشه.میشه کدش رو بنویسید.لطفا.ممنون.

در کنترل هایی مانند دیتالیست و گریدویو شما می تونید template field درست کنید و در اون یه عکس بذارید که لینک باشه.

salehbagheri
چهارشنبه 13 مرداد 1389, 15:42 عصر
این کد برای الگو برداری بود نه این که مستقیم Copy/Paste بشه.

در ضمن این کد به زبان VB هست اگه شما از زبان Csharp استفاده میکنید باید در بکاربردن کدها دقت کنید.

مثلا متد ToString رو باید همراه پرانتز بنویسید به این صورت ()ToString !


آیا Others/Images/ جایی هست که عکسها در اون ذخیره است؟

بله


در ضمن ImageID در ("Photo.aspx?ImageID=" + <%#Eval("ImageID").ToString %>) چی هست؟
این کد باعث میشه وقتی شما روی تصویر کلیک کنید شما رو به صفحه ای دیگر (Photo.aspx) برای مشاهده جزئیات هدایت کنه ...

jojo_abadani7
چهارشنبه 13 مرداد 1389, 18:29 عصر
این کد برای الگو برداری بود نه این که مستقیم Copy/Paste بشه.

در ضمن این کد به زبان VB هست اگه شما از زبان Csharp استفاده میکنید باید در بکاربردن کدها دقت کنید.

مثلا متد ToString رو باید همراه پرانتز بنویسید به این صورت ()ToString !



بله


این کد باعث میشه وقتی شما روی تصویر کلیک کنید شما رو به صفحه ای دیگر (Photo.aspx) برای مشاهده جزئیات هدایت کنه ...
مرسی از جوابتون.میشه معادل eval رو در #c بگید.من این اولین کارمه و همین طور پروژه دانشگاهم واسه این باید زود آماده اش کنم

salehbagheri
چهارشنبه 13 مرداد 1389, 19:01 عصر
پروژه رو اینجا قرار بدید

با تشکر