PDA

View Full Version : سوال: از کدام ابزار برای نمایش محتوا (مطلب) در سایت استفاده کنم؟



پیام حیاتی
یک شنبه 13 مهر 1393, 19:12 عصر
سلام
در صفحه Admin فرمی وجود داره که مدیر مطلبی رو از طریق Textbox در جدول بانک قرار میده :

124253

مطالب در جدول :

124254

می خوام مطالب رو در صفحه Default وب سایت نمایش بدم ، از چه ابزاری برای این کار استفاده کنم؟گرید گزینه خوبی برای نمایش مطلب نیست.
تشکر

demolition
یک شنبه 13 مهر 1393, 19:26 عصر
لیبل یا لیترال

پیام حیاتی
یک شنبه 13 مهر 1393, 19:43 عصر
لیبل یا لیترال
لطفا" اگر امکانش هست یک مثال یا یک قطعه کد قرار بدید.در مورد لیترال اطلاعاتی ندارم.
کدهای نمایش محتوای قرار گرفته در فیلد بانک در Lable؟

alef.divar
یک شنبه 13 مهر 1393, 22:12 عصر
سلام
اگه نیاز به صحفه بندی داری میتونی از datalist استفاده کنی در غیر این صورت میتونی از repeater استفاده کنی.

خانم گل
یک شنبه 13 مهر 1393, 22:28 عصر
استفاده از formview برای کار شما راحت تره. ارسال اطلاعات تو formview هم که خیلی راحته

Mousavmousab
یک شنبه 13 مهر 1393, 22:50 عصر
سلام
در صفحه Admin فرمی وجود داره که مدیر مطلبی رو از طریق Textbox در جدول بانک قرار میده :

124253

مطالب در جدول :

124254

می خوام مطالب رو در صفحه Default وب سایت نمایش بدم ، از چه ابزاری برای این کار استفاده کنم؟گرید گزینه خوبی برای نمایش مطلب نیست.
تشکر


دوست عزیز ، Repeater برای کار شما طراحی شده ، برای این کار عالی است.

forodo
دوشنبه 14 مهر 1393, 00:12 صبح
سلام
من قبل از اینکه Repeater رو کشف کنم توی محیط Source اینطوری می نوشتم:

<div>
<%
try
{
using (System.Data.SqlClient.SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection(ConfigurationM anager.ConnectionStrings["MyCon"].ConnectionString))
{
using (System.Data.SqlClient.SqlCommand sqlCmd = new System.Data.SqlClient.SqlCommand())
{
sqlCmd.CommandText = "SELECT * FROM tblComments WHERE tblTrainingID = " + Convert.ToInt32(Request.QueryString["IdShow"]);
sqlCmd.Connection = sqlConn;
sqlConn.Open();
System.Data.SqlClient.SqlDataReader dr = sqlCmd.ExecuteReader();
int AllComment = 0;
if (dr.HasRows)
{
while (dr.Read())
{
Response.Write("<div class=\"Mozu MatneNazarat\">نظرات ( " + AllComment.ToString() + " )</div>");
}

}
}
}
}
catch
{
Response.Write("Error: Error while downloading file!");
}
%>
</div>
با response.write می گفتم تگهای html رو چاپ کن.
ولی الان دیگه از repeater استفاده می کنم.
چون تگهای html رو راحتتر می تونم باهاشون کار کنم و کدهای سی شارپ هم جداست.
حالا از نظر سرعت نمی دونم. دوستان بگم کلاً کدوم بهتره.

demolition
دوشنبه 14 مهر 1393, 09:16 صبح
اگه میخواهید تمام مطالب رو روی یک صفحه نمایش بدید و از صفحه بندی استفاده کنید بهتره از ریپیتر یا دیتالیست استفاده کنید ولی اگر هر مطلب در صفحه خاصی نشون داده میشه بهتره از لیبل یا لیترال استفاده کنید

مثال برای لیبل یا لیترال





string strConnString = "Data Source=.............";


string str;


SqlCommand com;


protected void Page_Load(object sender, EventArgs e)
{


SqlConnection con = new SqlConnection(strConnString);


con.Open();


str = "select body from yourtbl";


com = new SqlCommand(str, con);


SqlDataReader reader = com.ExecuteReader();


reader.Read();


label1.Text = reader["body"].ToString();


reader.Close();


con.Close();






}

پیام حیاتی
دوشنبه 14 مهر 1393, 09:52 صبح
اگه میخواهید تمام مطالب رو روی یک صفحه نمایش بدید و از صفحه بندی استفاده کنید بهتره از ریپیتر یا دیتالیست استفاده کنید ولی اگر هر مطلب در صفحه خاصی نشون داده میشه بهتره از لیبل یا لیترال استفاده کنید

مثال برای لیبل یا لیترال





string strConnString = "Data Source=.............";


string str;


SqlCommand com;


protected void Page_Load(object sender, EventArgs e)
{


SqlConnection con = new SqlConnection(strConnString);


con.Open();


str = "select body from yourtbl";


com = new SqlCommand(str, con);


SqlDataReader reader = com.ExecuteReader();


reader.Read();


label1.Text = reader["body"].ToString();


reader.Close();


con.Close();






}






ممنونم از قرار دادن کدها.

پیام حیاتی
دوشنبه 14 مهر 1393, 09:54 صبح
دوستان آموزش خوبی در مورد ابزار Repeater سراغ دارید؟
من اضافه می کنم ، دیتا سورس هم معرفی می کنم اما در نهایت به این شکل نمایش داده میشه :
124267
تشکر.

forodo
دوشنبه 14 مهر 1393, 10:00 صبح
دوستان آموزش خوبی در مورد ابزار Repeater سراغ دارید؟
من اضافه می کنم ، دیتا سورس هم معرفی می کنم اما در نهایت به این شکل نمایش داده میشه :
124267
تشکر.
با این کدها repeater پر میشه:
using (System.Data.SqlClient.SqlConnection sqlConn = new System.Data.SqlClient.SqlConnection(ConfigurationM anager.ConnectionStrings[""].ConnectionString))
{
using (System.Data.SqlClient.SqlDataAdapter sqlCmd = new System.Data.SqlClient.SqlDataAdapter())
{
System.Data.DataTable dt = new System.Data.DataTable();
sqlCmd.SelectCommand = new System.Data.SqlClient.SqlCommand();
sqlCmd.SelectCommand.CommandText = "SELECT * FROM tblComments WHERE tblTrainingID = " + Convert.ToInt32(Request.QueryString["IdShow"]) + " AND Answer = '0' ORDER BY SendDate DESC, SendTime DESC";
sqlCmd.SelectCommand.Connection = sqlConn;
sqlConn.Open();
sqlCmd.Fill(dt);
sqlConn.Close();
Repeater1.DataSource = dt;
Repeater1.DataBind();
}
}

و اینها توی قسمت html میگید کجا و از کدوم ستون استفاده کنه:
وقتی از کنترلهای bind ای استفاده می کنید باید # رو قرار داده تا بتونید از کدهای #C در محیط html استفاده کنید.


<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<div class="MatneAamuzesh AllNazarat">
<div class="NazarInformation">
<ul>
<li style="padding-right:0px;">تاریخ ارسال : <%#Eval("SendDate") %> </li>
<li>نام : <%#Eval("Name")%> </li>
</ul>
</div>
<div class="Answer">
<a href="Show.aspx?Answer=<%#Eval("ID").ToString() %>" style="color:#009;">پاسخ</a>
</div>
<div class="KhodeNazar"> <%#Eval("Comment") %>
</div>
</div>
</ItemTemplate>
</asp:Repeater>