PDA

View Full Version : چگونگی ایجاد بخش نظرات برای بخش اخبار



leontry89
شنبه 20 اردیبهشت 1393, 21:38 عصر
دوستان من دارم یک بخش اخبار می نویسم می خوام برای خبرها بخش نظرات رو ایجاد کنم
یعنی نظرات ثبت شده کاربر در هر خبر به در همون خبر نمایش داده بشه
از کجا باید یاد بگیرم؟

sadeghpa80
شنبه 20 اردیبهشت 1393, 22:39 عصر
شما ابتدا باید یه تیبل تو دیتابیس بسازید
که فیلد های اون باشه : آی دی نظر - آی دی خبر - نظر کاربر - تاریخ و ساعت ثبت و می تونی آی پی طرف هم بگیری
که آی دی خبر با آی دی خبر تیبل خبر ریلیشن داشته باشن.

بعد تو پیجت در انتهای خبر یه Repeater میزاری که بره نظر هایی رو بیاره که آی دی خبر اونها با خبر توی پیجت یکی باشه . همین
بیشتر توضیح خواستی بگو

sajad_boj71
پنج شنبه 25 اردیبهشت 1393, 23:12 عصر
شما ابتدا باید یه تیبل تو دیتابیس بسازید
که فیلد های اون باشه : آی دی نظر - آی دی خبر - نظر کاربر - تاریخ و ساعت ثبت و می تونی آی پی طرف هم بگیری
که آی دی خبر با آی دی خبر تیبل خبر ریلیشن داشته باشن.

بعد تو پیجت در انتهای خبر یه Repeater میزاری که بره نظر هایی رو بیاره که آی دی خبر اونها با خبر توی پیجت یکی باشه . همین
بیشتر توضیح خواستی بگو

اگه ممکنه توضیحاتی بیشتری در این مورد بدین.ممنون

rezadana
جمعه 26 اردیبهشت 1393, 02:03 صبح
سلام دوست عزیز.
دوست عزیز اگر چند لحظه خودتون هم روش فکر کنید مطمعنا به نتیجه قابل قبول خواهید رسید. ولی منم راهنمایی میکنم تا جایی ک بتونم. امیدوارم مورد قبولتون واقع بشه و کمکتون کنه.
ببینید ما دو تا tabel (جدول) میسازیم به طور مثال : نام جدول خبرمون رو میزاریم(tb_news) و نام جدول نظرات رو هم میزاریم(tb_message) ، حالا موقعی که کاربر در صفحه اصلی سایت بر روی خبر مورد نظر کلیک کرد آیدی اون خبر رو با استفاده از کوئری استرینگ به صفحه بعدی (یعنی صفحه ای که متن کامل خبر همراه با نظرات کاربران میخواد درونش نمایش داده بشه) رو انتقال میدیم . بعد از اینکه اینکارو انجام دادیم میتونید در صفحه نمایش از دوتا ابزار برای نمایش خبر استفاده کنیم که اونم بستگی به کار شما و صلیقه شما داره . ولی معمولا برای نمایش خبر از formview استفاده میکنند چون که قراره فقط اطلاعات یک فیلد از جدولمون رو درونش نشون بده و برای نمایش نظرات هم میتونیم از ابزار Gridview و یا datalist و یا repeater استفاده کنید و جدول مربوط به هر کدوم رو بهش بایند کنید نکته ای که اینجا مد نظر هست اینه که موقع بایند کردن اطلاعات در اونا باید براش مشخص کنی که خبری رو نشون بده که id اون خبر برابر باشه با مقدار کوئری استرینگی که همراه با لینک خبر موجود هست . و برای ثبت نظر مربوط به همون خبر هم در پایین صفحه نمایش خبرتون شیء مربوط به ثبت نظرات رو قرار بدید(دوتا textbox بزارید ، یکیش واسه نام کاربری که میخواد نظر بده و یک textbox دیگشم واسه خود نظرات و یک button هم بزارید واسه ثبت خبر در دیتابیس). خب حالا وقتی کاربر نظرش رو تایپ میکنه و روی دکمه "ثبت خبر" کلیک میکنه خبری که ثبت میشه باید یک فیلد مثلا به نام (s_idnews) داشته باشه که بدونید اون نظر مربوط به کدوم خبر هست و موقع بایند کردن و نمایشش از اون s_idnews بتونید استفاده کنید . یعنی نظراتی رو نشون بده که s-idnews اون برابر با اون id خبر باشه. امیدوارم تونسته باشم مفهوم درستی رو واستون ارائه بدم.به لینک زیر هم سر بزنید کتاب خوبی هست واسه آموزش این کار. موفق باشید.
http://rezalynda.rzb.ir/post/62

vahidbolbol
جمعه 26 اردیبهشت 1393, 02:39 صبح
سلام به دوستان
منم دارم یک سایت با Asp.Net طراحی میکنم ومشکل اینجاست که تیبلامو ساختم و بخش خبر و نظراتشوطراحی کردم اما کل نظرات واسه همه خبرها میاد و میدونم باید از طریق کوئری استرینگ این کارو کنم اما من اصلا از کوئری استرینگ چیزی نمیدونم و نمیدونم چطوری باید کدشو نوشت اگه میشه کدشو واسم بزارید بخدا نیاز دارم
منتظر جوابهاتون هستم دوستان گلم

rezadana
جمعه 26 اردیبهشت 1393, 02:59 صبح
دوست عزیز اون لینکی که واستون گذاشتم رو مشاهده کنید. کتاب مفیدی هست واسه انجام سایت یک سایت از سطح مقدماتی تا متوسطه. موفق باشید.
لینک زیر هم طریقه استفاده از کوئری استرینگ رو توضیح داده.
http://noorportal.net/javan/itlearn/show-3207.aspx

ـــــــــــــــــــــــــ ـــــــــــــــ
www.rezalynda.rzb.ir

sajad_boj71
جمعه 26 اردیبهشت 1393, 09:58 صبح
ممنون از راهنماییتون.
برای" پاسخ با نقل قول "بایدچیکار کرد؟

korosh00
جمعه 26 اردیبهشت 1393, 12:31 عصر
119097

این فایل در اکسس طراحی شده فرقی نمیکنه من از همین استفاده می کنم .
حالا اگه در اس کیو ال خواستی طراحی جدولش همین طوره .
شما یک جدول به نام احبار میسازی و یک جدولهم برای نظرات .
موقعی که می خوان نظر بدن شما به آی دی خبر نیاز داری که وارد کنید .
پس کوئری که می نویسی اینه که insert کن در جدول نظرات آی دی خبر را و متن نظر را .

sajad_boj71
یک شنبه 28 اردیبهشت 1393, 01:14 صبح
ممنون از راهنماییتون.
برای" پاسخ با نقل قول "بایدچیکار کرد؟

برای" پاسخ با نقل قول "بایدچیکار کرد؟

sadeghpa80
دوشنبه 29 اردیبهشت 1393, 09:30 صبح
دوست عزیز ابتدا اگر امکان داره بفرمایید DataSource چی استفاده می کنید ؟ تا بیشتر بشه راهنمایی کرد
ممنون

sajad_boj71
دوشنبه 29 اردیبهشت 1393, 10:24 صبح
دوست عزیز ابتدا اگر امکان داره بفرمایید DataSource چی استفاده می کنید ؟ تا بیشتر بشه راهنمایی کرد
ممنون
سلام
از gridview استفاده میکنم

vahidbolbol
جمعه 02 خرداد 1393, 02:31 صبح
سلام به دوستان
ببخشید اینجا سوالامو درج کردم
به خوبی خودتون ببخشید...
من این مشکلم دارم تو بخش منو خبرها...
من یک منو بادیتاگرید طراحی کردم وقتی رو یکی از خبر ها کلیک میکنم تو صفحه بعد کل خبرهام که تو بانک هست میاد!!!!
من میخوام فقط خبر کلیک شده تو صفحه جدید نمایش داده بشه...
تورو خدا راهنماییم کنید به خوبی...

salar IT man
جمعه 02 خرداد 1393, 03:02 صبح
سلام به دوستان
ببخشید اینجا سوالامو درج کردم
به خوبی خودتون ببخشید...
من این مشکلم دارم تو بخش منو خبرها...
من یک منو بادیتاگرید طراحی کردم وقتی رو یکی از خبر ها کلیک میکنم تو صفحه بعد کل خبرهام که تو بانک هست میاد!!!!
من میخوام فقط خبر کلیک شده تو صفحه جدید نمایش داده بشه...
تورو خدا راهنماییم کنید به خوبی...

سلام.شما هم میتوانید به صورت ویزاردی با گرید کار کنید و یا باید گرید رو به صورت template برا خودتون customize کنید به نظرم بهتره از DataList استفاده کنید .این میتونه کمکتون کنه

<asp:DataList ID="DataList4" runat="server" CellPadding="3"
DataKeyField="NewsID" DataSourceID="ObjectDataSource2"
style="text-align: right" Width="717px" BackColor="White"
BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" GridLines="Both">
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<ItemStyle ForeColor="#000066" />
<ItemTemplate>
<div style="border-bottom:1px solid silver;padding:10px 0px 10px 0px;backgroundcolor:#8474AF;width:100%;height:20px ;color:#FFFF99; font-family:Tahoma;font-size:9pt;">
<div style="float:left;padding-left:10px;">
رات ي خ جرد : <asp:Label ID="NewsDateLabel" runat="server" Text='<%# Eval("NewsDate","{0:G}") %>' />
</div>
<div style="float:right;">
<b>ناُىع ربخ : </b>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("NewsTitle") %>'></asp:Label>
</div>
</div>
<div style="font-family:Tahoma; font-size:10pt;text-align:justify;direction:rtl;">
<br/>
<asp:Label ID="NewsDescrLabel" runat="server" Text='<%# Eval("NewsDescr") %>' /></div>
<br />
<a href='<%# Eval("NewsID","ShowNews.aspx?NID={0}") %>'><div id="bcontinue">... ًمادا بلطم</div></a>
</ItemTemplate>
<SelectedItemStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
</asp:DataList>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetAllNewsByCat"
TypeName="DataSet1TableAdapters.tblNewsTableAdapter">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="1" Name="NewsCat"
QueryStringField="Cat" Type="Byte" />
</SelectParameters>
</asp:ObjectDataSource>

korosh00
جمعه 02 خرداد 1393, 11:03 صبح
دوست عزیز موقعی که روی ادامه کلیک می کنی باید کوئری و آی دی اون خبر به صفحه ادامه خبر ارسال بشه .
در صفحه ادامه خبر هم باید کوئری آی دی خبر خوانده بشه و بر اساس آی دی خبر چیزهای دیگه اون خبر نمایش داده بشه مثل عکس و ادامه مطلب و اینا .
نمونه خیلی زیاد هست .

vahidbolbol
شنبه 03 خرداد 1393, 02:02 صبح
دوست عزیز موقعی که روی ادامه کلیک می کنی باید کوئری و آی دی اون خبر به صفحه ادامه خبر ارسال بشه .
در صفحه ادامه خبر هم باید کوئری آی دی خبر خوانده بشه و بر اساس آی دی خبر چیزهای دیگه اون خبر نمایش داده بشه مثل عکس و ادامه مطلب و اینا .
نمونه خیلی زیاد هست .


ممنون از کمکتون میشه این نمونه هایی رو که گفتید بهم بگید؟؟
بخدا عجیب گیرشم...

vahidbolbol
شنبه 03 خرداد 1393, 02:08 صبح
سلام.شما هم میتوانید به صورت ویزاردی با گرید کار کنید و یا باید گرید رو به صورت template برا خودتون customize کنید به نظرم بهتره از DataList استفاده کنید .این میتونه کمکتون کنه

<asp:DataList ID="DataList4" runat="server" CellPadding="3"
DataKeyField="NewsID" DataSourceID="ObjectDataSource2"
style="text-align: right" Width="717px" BackColor="White"
BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" GridLines="Both">
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<ItemStyle ForeColor="#000066" />
<ItemTemplate>
<div style="border-bottom:1px solid silver;padding:10px 0px 10px 0px;backgroundcolor:#8474AF;width:100%;height:20px ;color:#FFFF99; font-family:Tahoma;font-size:9pt;">
<div style="float:left;padding-left:10px;">
رات ي خ جرد : <asp:Label ID="NewsDateLabel" runat="server" Text='<%# Eval("NewsDate","{0:G}") %>' />
</div>
<div style="float:right;">
<b>ناُىع ربخ : </b>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("NewsTitle") %>'></asp:Label>
</div>
</div>
<div style="font-family:Tahoma; font-size:10pt;text-align:justify;direction:rtl;">
<br/>
<asp:Label ID="NewsDescrLabel" runat="server" Text='<%# Eval("NewsDescr") %>' /></div>
<br />
<a href='<%# Eval("NewsID","ShowNews.aspx?NID={0}") %>'><div id="bcontinue">... ًمادا بلطم</div></a>
</ItemTemplate>
<SelectedItemStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
</asp:DataList>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetAllNewsByCat"
TypeName="DataSet1TableAdapters.tblNewsTableAdapter">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="1" Name="NewsCat"
QueryStringField="Cat" Type="Byte" />
</SelectParameters>
</asp:ObjectDataSource>





مرسی از شما دوست عزیز
اما من خیلی مبتدی هستم تواین مبحث اگه میشه برام توضیح بده من کدتو کپی کردم اما بازم نشد
ببخشیدا...

salar IT man
شنبه 03 خرداد 1393, 03:09 صبح
خواهش میکنم . ببین دوست عزیز اینی که من گذاشتم فقط خواستم طریقه بایند کردن اطلاعات به یک DataList اون هم بصورت Customize رو ببینی و دید بگیری.همونطور که گفتم شما نیاز دارید که یک DataList رو در حالت Template قرار داده و داخل این DataList میتونی در این شرایط ، هر کنترل دیگری قرار بدی! (Customize)
بعش شما به یک ObjectDataSource یا SqlDataSource برای تامین دیتا ها نیاز داری که همونطوری که در پست 16 میبینی این تامین کننده رو به DataList ست کردیم.
اگه تا اینجا متوجه شدی من ادامه بدم

sajad_boj71
شنبه 03 خرداد 1393, 04:02 صبح
خواهش میکنم . ببین دوست عزیز اینی که من گذاشتم فقط خواستم طریقه بایند کردن اطلاعات به یک DataList اون هم بصورت Customize رو ببینی و دید بگیری.همونطور که گفتم شما نیاز دارید که یک DataList رو در حالت Template قرار داده و داخل این DataList میتونی در این شرایط ، هر کنترل دیگری قرار بدی! (Customize)
بعش شما به یک ObjectDataSource یا SqlDataSource برای تامین دیتا ها نیاز داری که همونطوری که در پست 16 میبینی این تامین کننده رو به DataList ست کردیم.
اگه تا اینجا متوجه شدی من ادامه بدم

سلام
اگه امکانش هست لطفا یک نمونه پروژه بزارید.ممنون

salar IT man
شنبه 03 خرداد 1393, 04:57 صبح
سلام
اگه امکانش هست لطفا یک نمونه پروژه بزارید.ممنون

چشم.در اولین فرصت یه سمپل در این مورد میذارم

vahidbolbol
یک شنبه 04 خرداد 1393, 02:35 صبح
خواهش میکنم . ببین دوست عزیز اینی که من گذاشتم فقط خواستم طریقه بایند کردن اطلاعات به یک DataList اون هم بصورت Customize رو ببینی و دید بگیری.همونطور که گفتم شما نیاز دارید که یک DataList رو در حالت Template قرار داده و داخل این DataList میتونی در این شرایط ، هر کنترل دیگری قرار بدی! (Customize)
بعش شما به یک ObjectDataSource یا SqlDataSource برای تامین دیتا ها نیاز داری که همونطوری که در پست 16 میبینی این تامین کننده رو به DataList ست کردیم.
اگه تا اینجا متوجه شدی من ادامه بدم


ممنونم از شما دوست عزیز
من مشکلی با تمپلت ها ندارم مشکل با این کوئری استرینگ دارم که باید Id خبر کلیک شده رو به صفحه ای که میخوای کل خبر کلیک شده رو فقط ببینی
کد دستوریش چطوریه امیدوارم سوالم ضایع نباشه...:لبخند:

salar IT man
یک شنبه 04 خرداد 1393, 08:15 صبح
<asp:DataList ID="DataList4" runat="server" CellPadding="3"
DataKeyField="NewsID" DataSourceID="ObjectDataSource2"
style="text-align: right" Width="717px" BackColor="White"
BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" GridLines="Both">
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<ItemStyle ForeColor="#000066" />
<ItemTemplate>
<div style="border-bottom:1px solid silver;padding:10px 0px 10px 0px;backgroundcolor:#8474AF;width:100%;height:20px ;color:#FFFF99; font-family:Tahoma;font-size:9pt;">
<div style="float:left;padding-left:10px;">
رات ي خ جرد : <asp:Label ID="NewsDateLabel" runat="server" Text='<%# Eval("NewsDate","{0:G}") %>' />
</div>
<div style="float:right;">
<b>ناُىع ربخ : </b>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("NewsTitle") %>'></asp:Label>
</div>
</div>
<div style="font-family:Tahoma; font-size:10pt;text-align:justify;direction:rtl;">
<br/>
<asp:Label ID="NewsDescrLabel" runat="server" Text='<%# Eval("NewsDescr") %>' /></div>
<br />
<a href='<%# Eval("NewsID","ShowNews.aspx?NID={0}") %>'><div id="bcontinue">... ًمادا بلطم</div></a>
</ItemTemplate>
<SelectedItemStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
</asp:DataList>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" SelectMethod="GetAllNewsByCat"
TypeName="DataSet1TableAdapters.tblNewsTableAdapter">
<SelectParameters>
<asp:QueryStringParameter DefaultValue="1" Name="NewsCat"
QueryStringField="Cat" Type="Byte" />
</SelectParameters>
</asp:ObjectDataSource>



اصلا هم ضایع نیست دوست عزیز سوالتون چون الان هم هرکسی بخواد به این سوالتون جواب بده حتما یه روزی خودشم با این مشکلات تو اول راه سر و کله زده :لبخندساده: .
خب تو این نمونه کد اگر دقت کنید برای تگ a برای خصوصیت href آن به صورت زیر عمل کرده :

href='<%# Eval("NewsID","ShowNews.aspx?NID={0}") %>'

ا
این خط کد میگه که از اون منبع داده ای (ObjectDataSource) فیلد NewsID که تو جدول News هاست رو به عنوان QueryString بفرست به صفحه ShowNews .تو صفحه ShowNews قراره با توجه به NewsID که فرستادیم به این صفحه ،News را نمایش دهیم .الان شما باید تو صفحه ShowNew ، این NewsID رو از Url خارج کنید به این شکل:



int newsID;
if (!string.IsNullOrEmpty(Request.QueryString["NID"].ToString()))
newsID = int.Parse(Request.QueryString["NID"].ToString());
else
newsID = 0;




حالا با این newID میتونی خبر مورد نظری که روش کلیک شده رو با یه Query گرفتن از جدول News ،مشاهده کنی.
دوستان هم نظر بدن عالی میشه.
موفق باشید

vahidbolbol
دوشنبه 05 خرداد 1393, 02:49 صبح
یاشاسین دوست عزیز...
من برای منو تیتر اخبارم از یک دیتاگرید استفاده کردم و به صورت خود ویزارد دیتا گرید به بانکم وصل کردم...
این کد دیتا گرید من که یک منو اخبارمه...


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="NewsID" DataSourceID="SqlDataSourceL" EnableModelValidation="True" GridLines="Horizontal">
<AlternatingRowStyle BackColor="#F7F7F7" />
<Columns>
<asp:BoundField DataField="titr" HeaderText="titr" SortExpression="titr" />
<asp:BoundField DataField="NewsID" HeaderText="NewsID" InsertVisible="False" ReadOnly="True" SortExpression="NewsID" />
</Columns>
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSourceL" runat="server" ConnectionString="<%$ ConnectionStrings:SinabartarConnectionString2 %>" SelectCommand="SELECT TOP (5) titr, NewsID FROM Akhbar ORDER BY NewsID DESC"></asp:SqlDataSource>


خب دوست خوبم اینم فیلدهای جدول (Akhbar):
NewsID (int)
titr (nvarchar(MAX))
khabar (nvarchar(MAX))
tarikh (varchar(MAX))
saat (nvarchar(MAX))
***************************************
حالا میخوام فقط تو منوم تیتر خبر باشه و لینک باشه و وقتی کلیک کرد به صفحه دیگه کل خبرو با تمام جرئیاتش نشون بده...
ببخشید اگه اذیتتون میکنم اما من باید این مبحثو یاد بگیرم خواهش میکنم هرکاری از دستتون بر میاد برام انجام بدین ممنون میشم
منتظرتوضیحات خوبتون هستم دوست خوبم...

sajad_boj71
دوشنبه 05 خرداد 1393, 03:04 صبح
salar IT man (http://barnamenevis.org/member.php?324506-salar-IT-man) گرامی،اگه ممکنه کدهایی که در بالا ذکر کردید رو بصورت پروژه قرار بدید دانلود کنیم،فهمش برای ما مبتدی ها بهتره.ممنونم از شما

salar IT man
دوشنبه 05 خرداد 1393, 17:48 عصر
دوستان من یه هفته ای یه سایت خبری آماده و همراه با Document و همچنین احراز هویت و Customize کردن Provider ها رو قرار میدم همینجا تا استفاده کنید . بنده خودم وقتی وارد Asp.net شدم خیلی گیج شده بودم چون خود خوان یادگرفتم مثل بسیاری از دوستان . در واقع میدونم الان مشکلاتتون چیه . سعی کردم تو این پروژه ای که آماده میکنم کد ها همشون خوانا باشه و با کامنت گذاری فهمش راحت باشه . نظر بنده اینه که وقتی مطلبی رو بلدیم به طور کامل به بقیه انتقال بدیم تا اونا هم مثل ما سردرگم نشن .اینجوری پیشرفت هم زیاد خواهد بود .
خیلی حرف زدم :لبخند: . اگر شما هم مطالب مفیدی داشتین انتقال بدید.
موفق باشید

salar IT man
دوشنبه 05 خرداد 1393, 18:34 عصر
یاشاسین دوست عزیز...
من برای منو تیتر اخبارم از یک دیتاگرید استفاده کردم و به صورت خود ویزارد دیتا گرید به بانکم وصل کردم...
این کد دیتا گرید من که یک منو اخبارمه...


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyNames="NewsID" DataSourceID="SqlDataSourceL" EnableModelValidation="True" GridLines="Horizontal">
<AlternatingRowStyle BackColor="#F7F7F7" />
<Columns>
<asp:BoundField DataField="titr" HeaderText="titr" SortExpression="titr" />
<asp:BoundField DataField="NewsID" HeaderText="NewsID" InsertVisible="False" ReadOnly="True" SortExpression="NewsID" />
</Columns>
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSourceL" runat="server" ConnectionString="<%$ ConnectionStrings:SinabartarConnectionString2 %>" SelectCommand="SELECT TOP (5) titr, NewsID FROM Akhbar ORDER BY NewsID DESC"></asp:SqlDataSource>


خب دوست خوبم اینم فیلدهای جدول (Akhbar):
NewsID (int)
titr (nvarchar(MAX))
khabar (nvarchar(MAX))
tarikh (varchar(MAX))
saat (nvarchar(MAX))
***************************************
حالا میخوام فقط تو منوم تیتر خبر باشه و لینک باشه و وقتی کلیک کرد به صفحه دیگه کل خبرو با تمام جرئیاتش نشون بده...
ببخشید اگه اذیتتون میکنم اما من باید این مبحثو یاد بگیرم خواهش میکنم هرکاری از دستتون بر میاد برام انجام بدین ممنون میشم
منتظرتوضیحات خوبتون هستم دوست خوبم...


<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#Eval("NewsID","ShowNews.aspx?NID={0}") %>' Text=""></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
د
دوست عزیز از این کداستفاده کنید به احتمال زیاد جوابتونو بگیرید

vahidbolbol
سه شنبه 06 خرداد 1393, 02:07 صبح
سلام دوست عزیز این تیکه کدی که گفتی رو گذاشتم اما این خطا رو داد...
Input string was not in a correct format.:ناراحت:
آخه من چیکار کنم این مشکلم حل بشه؟؟؟

salar IT man
سه شنبه 06 خرداد 1393, 02:46 صبح
سلام دوست عزیز این تیکه کدی که گفتی رو گذاشتم اما این خطا رو داد...
Input string was not in a correct format.:ناراحت:
آخه من چیکار کنم این مشکلم حل بشه؟؟؟

این لینکارم ببین :

http://stackoverflow.com/questions/6539667/how-to-bind-the-url-of-a-gridview-hyperlinkfield-when-the-bound-value-contains-a (http://stackoverflow.com/questions/6539667/how-to-bind-the-url-of-a-gridview-hyperlinkfield-when-the-bound-value-contains-a)

http://www.codeproject.com/Questions/143724/how-to-add-Hyperlink-in-gridview-in-ASP-NET

sajad_boj71
سه شنبه 06 خرداد 1393, 22:02 عصر
int newsID;
if (!string.IsNullOrEmpty(Request.QueryString["NID"].ToString()))
newsID = int.Parse(Request.QueryString["NID"].ToString());
else
newsID = 0;


حالا با این newID میتونی خبر مورد نظری که روش کلیک شده رو با یه Query گرفتن از جدول News ،مشاهده کنی.
دوستان هم نظر بدن عالی میشه.
موفق باشید
سلام
salar IT man (http://barnamenevis.org/member.php?324506-salar-IT-man)،من همه مراحل رو انجام دادم،ولی باز هم همه اخبار رو نشون میده!
قطعه کد بالارو در page load صفحه ShowNews.aspx گذاشتم،درسته؟!:متفکر:

salar IT man
سه شنبه 06 خرداد 1393, 22:31 عصر
سلام
salar IT man (http://barnamenevis.org/member.php?324506-salar-IT-man)،من همه مراحل رو انجام دادم،ولی باز هم همه اخبار رو نشون میده!
قطعه کد بالارو در page load صفحه ShowNews.aspx گذاشتم،درسته؟!:متفکر:
بله.امکان نداره همرو نشون بده که ، شما اینجا باید بگین که اون خبری رو نشون بده که آی دیش مساوی newsID .

sajad_boj71
سه شنبه 06 خرداد 1393, 22:39 عصر
بله.امکان نداره همرو نشون بده که ، شما اینجا باید بگین که اون خبری رو نشون بده که آی دیش مساوی newsID .

چطوری باید بگم اون خبری رو نشون بده که آی دیش مساوی newsID؟
مگه دستور زیر اینکارو نمیکنه؟!





int newsID;
if (!string.IsNullOrEmpty(Request.QueryString["NID"].ToString()))
newsID = int.Parse(Request.QueryString["NID"].ToString());
else
newsID = 0;

salar IT man
سه شنبه 06 خرداد 1393, 22:50 عصر
از یک FormView استفاده کن و بازم یک DataSource نیاز داری . حالا وقتی داری اون DataSource رو کانفیگ میکنی ، قسمت Parameters داره اگه اشتباه نکنم. از اونجا نوع QueryString رو انتخاب کن و نام NID که در صفحه قبل به عنوان QueryString فرستادیم رو اینجا بنویس و ...
دیگه هم اون کداهای قسمت Page_Load نیاز نیست

sajad_boj71
سه شنبه 06 خرداد 1393, 23:38 عصر
salar IT man (http://barnamenevis.org/member.php?324506-salar-IT-man) فک کنم سو تفاهم شده ها :لبخند:
من با نمایش متن کامل خبر در صفحه جدید مشکلی ندارما،با نمایش نظرات اون خبر مشکل دارم!

vahidbolbol
چهارشنبه 07 خرداد 1393, 02:11 صبح
سلام
salar IT man (http://barnamenevis.org/member.php?324506-salar-IT-man)،من همه مراحل رو انجام دادم،ولی باز هم همه اخبار رو نشون میده!
قطعه کد بالارو در page load صفحه ShowNews.aspx گذاشتم،درسته؟!:متفکر:


منونم از شما
دوست عزیز به نطرم اگه یک پروژه کوچیک که این کارارو انجام بده بهم بدین خیلی بهتر یاد میگیرم
امیدوارم از دست من خسته نشده باشید....

vahidbolbol
چهارشنبه 07 خرداد 1393, 02:20 صبح
ببخشید اشتباه فرستادم طرف مخاطبم با (Salar IT man) بود
معذرت

korosh00
چهارشنبه 07 خرداد 1393, 06:35 صبح
سلام
اینم یک نمونه کوچک با اکسس .
ببینید یک جدول که خبر است بنام جدول va
یک جدول هم نظرات
در جدول نظرات برای اینکه نظرات تایید شده نمایش داده بشه می تونید یک فیلد بگذارید بنام تایید
اگر داخل آن 0 بود یعنی تایید نیست اگر 1 بود یعنی تایید .
بعد موقع خواندن اطلاعات در گرید ویو یا موارد دیگه میگی
select کن نظرهایی که برای این خبر است (آی دی خبر ) هر جا فیلد تایید برابر 1 است .
کوئری هم گذاشتم شما در اکسس روی کوئری کلیک کن کد sql را بهت میده از اون استفاده کن .
من خودم اینقدر نشستم پاش تا خودم طراحیش کردم .
شما این راهکار را دارید پس همه چیز حله براتون .
119569

sajad_boj71
چهارشنبه 07 خرداد 1393, 10:32 صبح
سلام
اینم یک نمونه کوچک با اکسس .
ببینید یک جدول که خبر است بنام جدول va
یک جدول هم نظرات
در جدول نظرات برای اینکه نظرات تایید شده نمایش داده بشه می تونید یک فیلد بگذارید بنام تایید
اگر داخل آن 0 بود یعنی تایید نیست اگر 1 بود یعنی تایید .
بعد موقع خواندن اطلاعات در گرید ویو یا موارد دیگه میگی
select کن نظرهایی که برای این خبر است (آی دی خبر ) هر جا فیلد تایید برابر 1 است .
کوئری هم گذاشتم شما در اکسس روی کوئری کلیک کن کد sql را بهت میده از اون استفاده کن .
من خودم اینقدر نشستم پاش تا خودم طراحیش کردم .
شما این راهکار را دارید پس همه چیز حله براتون .
119569
سلام
ممنون از شما اما،من مشکلم با تایید یا عدم تایید خبر نیست،مشکل من نمایش نظرات اون خبر خاص هست.
مثلا موقعی که کسی برای پست 70 نظر میزاره،نظرش فقط در پست 70 نمایش داده بشه نه در تمام پست ها!

sajad_boj71
چهارشنبه 07 خرداد 1393, 15:27 عصر
دوستان من یه هفته ای یه سایت خبری آماده و همراه با Document و همچنین احراز هویت و Customize کردن Provider ها رو قرار میدم همینجا تا استفاده کنید . بنده خودم وقتی وارد Asp.net شدم خیلی گیج شده بودم چون خود خوان یادگرفتم مثل بسیاری از دوستان . در واقع میدونم الان مشکلاتتون چیه . سعی کردم تو این پروژه ای که آماده میکنم کد ها همشون خوانا باشه و با کامنت گذاری فهمش راحت باشه . نظر بنده اینه که وقتی مطلبی رو بلدیم به طور کامل به بقیه انتقال بدیم تا اونا هم مثل ما سردرگم نشن .اینجوری پیشرفت هم زیاد خواهد بود .
خیلی حرف زدم :لبخند: . اگر شما هم مطالب مفیدی داشتین انتقال بدید.
موفق باشید

salar IT man (http://barnamenevis.org/member.php?324506-salar-IT-man)،
داداش یک سمپل بزار دانلود کنیم،فقط با dataset نباشه (بنابه دلایلی نمیتونم از dataset استفاده کنم).ممنون

korosh00
چهارشنبه 07 خرداد 1393, 18:23 عصر
مگه کوئری را ندیدی . اون کوئری استرینگ که در اکسس هست را ببین ازش استفاده کن

SELECT nazarva.idvanazar, nazarva.idva, va.titr, va.edameh, va.aks, nazarva.namen, nazarva.emailn, nazarva.nazarva
FROM va INNER JOIN nazarva ON va.idva = nazarva.idva
WHERE (((nazarva.idva)=25));

الان نظرات مربوط به خبر با آی دی 25 را داره نمایش میده این را دریک رشته بگذار همین . خیلی راحت .

korosh00
چهارشنبه 07 خرداد 1393, 18:25 عصر
string vv= "Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=|DataDirectory|\\site.mdb";
OleDbConnection con = new OleDbConnection(vv);
string vv2 = "SELECT nazarva.idvanazar,nazarva.idva,nazarva.namen, nazarva.emailn, nazarva.nazarva FROM va INNER JOIN nazarva ON va.idva = nazarva.idva WHERE (((nazarva.idva)=" + Label1.Text + "))";
OleDbCommand com = new OleDbCommand(vv2, con);
OleDbDataAdapter adapter = new OleDbDataAdapter(com);
DataSet ds2 = new DataSet();
adapter.Fill(ds2, "nazarva");
con.Open();
rptBooks.DataSource = ds2;
rptBooks.DataBind();

fakhravari
چهارشنبه 07 خرداد 1393, 21:30 عصر
http://barnamenevis.org/showthread.php?319398

sajad_boj71
چهارشنبه 07 خرداد 1393, 22:41 عصر
http://barnamenevis.org/showthread.php?319398

ممنون از شما اما جایی برای نظر دادن نداره که!

fakhravari
چهارشنبه 07 خرداد 1393, 22:44 عصر
ببنید داره:چشمک:

sajad_boj71
چهارشنبه 07 خرداد 1393, 22:47 عصر
قسمت مربوط به بانک بخش نظرات هست( قسمت postid خالی هست چون نمیدونستم چه کدی باید براش بنویسم)


الان چه query باید بنویسم ؟

sajad_boj71
چهارشنبه 07 خرداد 1393, 23:02 عصر
ببنید داره:چشمک:

نداره که!
معمولا پایین هر پست بخش نظر رو میزان ولی مال پروژه شما،به طور مثال به این صورت نوشته:

تاریخ ارسال : دوشنبه 2 آذر سال 1388 | زمان ثبت : 15:40 |

از کجا میتونم بخش نظرات رو ببینم؟

fakhravari
چهارشنبه 07 خرداد 1393, 23:16 عصر
با کاربر بیان داخل میتونید نظر بدین برای هر مطلب.
شما باید بر اساس query string کد خبر پاس بدین صفحه نظرات .

vahidbolbol
پنج شنبه 08 خرداد 1393, 01:48 صبح
بچه ها تورو دست مارو هم بگیرید بابا
سوال منم جواب بدین تورورخدا
به این زودی از دست من خسته شدین؟

vahidbolbol
پنج شنبه 08 خرداد 1393, 01:51 صبح
بچه ها پس سوال من چی؟
دستم به دامنتون رفقا

sajad_boj71
پنج شنبه 08 خرداد 1393, 13:05 عصر
مگه کوئری را ندیدی . اون کوئری استرینگ که در اکسس هست را ببین ازش استفاده کن

SELECT nazarva.idvanazar, nazarva.idva, va.titr, va.edameh, va.aks, nazarva.namen, nazarva.emailn, nazarva.nazarva
FROM va INNER JOIN nazarva ON va.idva = nazarva.idva
WHERE (((nazarva.idva)=25));

الان نظرات مربوط به خبر با آی دی 25 را داره نمایش میده این را دریک رشته بگذار همین . خیلی راحت .
سلام
اینو نوشتم،حالا چجوری ازش استفاده کنم؟
select tpost.postid,comments.postid,tpost.title,tpost.con tents,tpost.date,tpost.section
from tpost INNER JOIN comments ON tpost.postid=comments.postid

INSERT INTO comments(postid)
SELECT postid FROM tpost








string vv= "Provider=Microsoft.Jet.OLEDB.4.0;User ID=admin;Data Source=|DataDirectory|\\site.mdb";
OleDbConnection con = new OleDbConnection(vv);
string vv2 = "SELECT nazarva.idvanazar,nazarva.idva,nazarva.namen, nazarva.emailn, nazarva.nazarva FROM va INNER JOIN nazarva ON va.idva = nazarva.idva WHERE (((nazarva.idva)=" + Label1.Text + "))";
OleDbCommand com = new OleDbCommand(vv2, con);
OleDbDataAdapter adapter = new OleDbDataAdapter(com);
DataSet ds2 = new DataSet();
adapter.Fill(ds2, "nazarva");
con.Open();
rptBooks.DataSource = ds2;
rptBooks.DataBind();


این قسمت رو متوجه نشدم...

ببنید داره:چشمک:
من از نسخه قدیمی پروژه رو دانلود کرده بودم،داخل اون قسمت نظر نداشت،نسخه جدید رو دانلود کردم اما کدهاتون شلوغه متوجه نشدم :ناراحت:


با کاربر بیان داخل میتونید نظر بدین برای هر مطلب.
شما باید بر اساس query string کد خبر پاس بدین صفحه نظرات .
فقط متوجه شدم باید در قسمت page load کد زیر رو بنویسم که اونم جواب نداد.
int postid;
postid = Int32.Parse(Request.QueryString["pid"].ToString());

fakhravari
پنج شنبه 08 خرداد 1393, 15:40 عصر
مثال
http://www.fakhravary.somee.com/Coments_Post.aspx?TopicID=3
شما در پیج لود صفحه Coments_Post میتونید با دستور
Request.QueryString["TopicID"].ToString()
مقدارش بگیرید.

sajad_boj71
پنج شنبه 08 خرداد 1393, 16:57 عصر
ممنون از همه دوستان،کار کرد بالاخره!:تشویق:

salar IT man
پنج شنبه 08 خرداد 1393, 22:40 عصر
ممنون از همه دوستان،کار کرد بالاخره!:تشویق:

خدارو شکر :لبخند: :تشویق: