PDA

View Full Version : سوال: تشخیص انتخاب کاربر



asiehmohammadian
جمعه 12 خرداد 1391, 01:20 صبح
سلام
کسی ازدوستان میدونه در سایتهای خرید کالا مثل این سایت :www.tehrankala.com
وقتی کاربر ازمنوی آبشاری بالا یک گروه کالا مثلا سرخ کن و انتخاب میکنه باید ازکجا بفهمم که کاربر داره کجا کلیک میکنه؟
آخه شماوقتی روی زیرمنوها کلیک میکنید محصولات مربوط به همون زیرمنوبرای کاربرلیست میشه ولی من نمیدونم چطوری باید بفهمم که کاربرم داره کجاکلیک میکنه؟
اگرراهنماییم کنیدازتون ممنون میشم
شدیدانیازدارم:گریه:

aminghaderi
جمعه 12 خرداد 1391, 03:01 صبح
من نفهمیدم این کجاش سخت بود و یا پیچیده بود که برای شما مشکل شده؟!
یه منوی ساده درختی داره ، که وقتی روش کلیک می کنه QueryString به سرور ارسال میشه و اونجا هم مقدار متغیر ها بررسی با توجه با اون مقدار صفحه یا بخش مورد نظر نمایش داده می شه.
url ها رو هم باز نویسی کرده برای همین می شخص نمی شه :
http://www.tehrankala.com/-c-8.html
زبان سایت هم php هست ، اگر asp ، برات متغیر هایی که به سرور ارسال می کنه رو در می یاوردم ، از روی همین آدرس هم که الان هست ، می شه ولی دقیق نیست.

چیز خاصی نداره
حالا ایجکسی بود یکم سخت تر می شد ولی اینکه یه postback ساده است.
اشکالی داشتی بگید تا اگر در حد من بود و در توان راهنمایی کنم.

asiehmohammadian
جمعه 12 خرداد 1391, 12:56 عصر
ممنون از راهنماییتون
ولی این برای من شده یک دردسربزرگ از هرکس پرسیدم بلد نبود
من یک منوی آبشاری دارم مثل همین سایت ( قسمت بالا) که میخوام وقتی کاربرم روی زیرمنوها کلیک میکنه محصولات مربوط به اون زیر منورو از جدول کالا براش توی یک GridView نمایش بدم ولی نمیدونم چه کدی بنویسم که این کار و برام بکنه؟
خواهش میکنم اگر کدشو دارید بمنم بدید
من دانشجویم واین پروژه فارغ التحصیلیمه ، استاد راهنمامم بلد نبود
من باید بفهمم کاربرم داره کجا کلیک میکنه تا ازش برای پرکردن گریدم استفاده کنم
توروخدا کمکم کنید:گریه:
من با C# کار میکنم

fakhravari
جمعه 12 خرداد 1391, 14:48 عصر
استاد راهنمامم بلد نبود که نشد استاد.
شما باید یه پیج داشته باشید که query string بفرستید و در پیج لود دریافت و گرید باش پر کنید.
http://barnamenevis.org/showthread.php?319398

asiehmohammadian
شنبه 13 خرداد 1391, 12:19 عصر
ممنون ازراهنماییتون
من پروژتونو دانلود کردم ولی اجرانمیشه واین خطارومیده :
Error 38 It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS
چطوری باید این خطارورفع کنم؟
یک سوال دیگه هم داشتم مشکل من به کدوم قسمت سایت شماربط داره ؟ دانلود مقاله؟
ممنون ازراهنماییتون

fakhravari
شنبه 13 خرداد 1391, 13:12 عصر
نه منو بندی.
از open وب سایت بازش کنید

aminghaderi
شنبه 13 خرداد 1391, 15:40 عصر
ولی این برای من شده یک دردسربزرگ از هرکس پرسیدم بلد نبود

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

باید مراحل زیر رو یاد بگیرید جوری که درک کرده باشید :
1- رشته تقاضا (Query String)
2- کار با ابزارهای نمایش داده (Grid View یا list view) که listview جدید تر و قوی تر هست.
3- کار با منوی درختی (TreeView).

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

asiehmohammadian
شنبه 13 خرداد 1391, 18:43 عصر
همین کاروکردم آقای فخراوی
ازمنوی file گزینه open website وزدم ولی همین خطارومیده

asiehmohammadian
شنبه 13 خرداد 1391, 18:56 عصر
ممنون ازراهنماییتون
من منوی داینامیک وتولید کردم ، یک منوی داینامیک وآبشاری مثل همون وب سایت
باگریدویو هم زیادکارکردم تقریبا بهش مسلطم
ولی اولین موردی که گفتید ونمیدونم چیه
توی همین سایت یک سرچ کردم درموردسبدخرید یک صفحه پیداکردم به اسم استفاده از datatable برایساخت سبد خریدمیشه بگید این مورد مناسبی هست یانه؟
البته به نظرخودم این صفحه مال مرحله بعدازمشکل منه
یعنی مال قسمتی که من تونستم انتخاب کاربرم وبدست بیارم و حالا دارم محصول و بهش نشون میدم
توروخداکمکم کنید واقعا گیرکردم:گریه:

fakhravari
شنبه 13 خرداد 1391, 19:35 عصر
یه سمپل سبد خرید خوشکل
اسم دیتابیس ShopTest

aminghaderi
شنبه 13 خرداد 1391, 20:24 عصر
ولی اولین موردی که گفتید ونمیدونم چیه
پس تمومه دیگه یکم روی کوئری استرینگ کار کنید حله دیگه...
رشته های تقاضا مثل متغیر ها می مونند ، شما می تونی اونها رو در سمت سرور دریافت کنی و با توجه به اون مقدار شرط مورد نظر رو اعمال کنید.
برای مثال اگر متغیر page=3 باید داخل گرید ویو بخش مواد غذایی رو نمایش بدید و اگر برابر با page=4 بود بخش لوازم خونه رو نشون می دید.
به همین سادگی.

asiehmohammadian
شنبه 13 خرداد 1391, 20:25 عصر
یک دنیا ازتون ممنونم آقای فخراوی
ولی من نمیتونم اجراش کنم همون خطای مال پروژه شمارومیده
فایلی که شما گذاشتید فقط سبدخریده؟
منظور من اینه که مشکل من به سبد خرید ربط داره؟
من فهمیدم شما چی گفتید شما گفتیدمن باید یک لینک داشته باشم که شناسه کالا را به یک صفحه مثلا Default.aspx ازطریق QueryString پاس بدم ودررویداد پیج لود Default.aspx سبدخریدموباهاش پرکنم
امانمیدونم چطوری QueryString بنویسم
توروخدا کمکم کنید
محبت کنید بهم بگید چطوری بنویسم
واقعا ازتون ممنونم

asiehmohammadian
شنبه 13 خرداد 1391, 20:30 عصر
ممنون
ولی همه مشکل من سر همین قسمتشه
میشه در حد کاملا ابتدایی لطف کنید توضیح بدید
من در این مورد هیچی نمیدونم ، نمیدونم چطوری بنویسم
اگر سرچ کنم کوئری استرینگ پیدا میکنم
یک دنیا ممنونم

fakhravari
شنبه 13 خرداد 1391, 22:13 عصر
Script دیتابیس هم توش هست

fakhravari
شنبه 13 خرداد 1391, 22:28 عصر
برای مثال
یک لیست در مسترپیج داریم به صورت زیر
برای پی گیری موضوع و چکونگی اجرا شدن به این سایت برین http://fakhravary.somee.com
<asp:Repeater ID="rp" runat="server">
<ItemTemplate>
<li id="submenu"><a target="_self" href='Show/Default.aspx?CategoryID=<%#Eval("CategoryID")%>&CategoryName=<%#Eval("CategoryName")%>'><%# Eval("CategoryName", "{0}")%></a></li>
</ItemTemplate>
</asp:Repeater>
و روی هر کدوم کلیک کردیم به این ادرس Show/Default.aspx کوری میفرستیم شماره ID مطلب
public string name;
public int id;
protected void Page_Load(object sender, EventArgs e)
{
name = Request.QueryString["CategoryName"];
id = Int32.Parse(Request.QueryString["CategoryID"]);

Page.Title = "::" + name + "::";


Label lbl = (Label)Page.Master.FindControl("Label1");
lbl.Text = "(" + name + ")";

}
لیست فروم های بخش موضوعات
<asp:Repeater ID="rp" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<li>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0; font-size:12px;">
<a href='Display_PF.aspx?ForumID=<%#Eval("ForumID")%>&ForumName=<%#Eval("ForumName")%>' target="_self">
<%#Eval("ForumName")%>
</a>
</p>
</li>
</ItemTemplate>
</asp:Repeater>

شماره فروم میفرسته صفحه بعدی
public string name = Encoding.UTF8.ToString();
public int id;



protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
name = Request.QueryString["ForumName"];
id = Int32.Parse(Request.QueryString["ForumID"]);

this.Page.Title = "::" + name + "::";

Topik k = new Topik();
GridView1.DataSource = k.All_Topik_Forum_ID(id);
GridView1.DataBind();


Label lbl = (Label)Page.Master.FindControl("Label1");
lbl.Text = "(" + name + ")";

}

}
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowHeader="False" BorderStyle="None"
GridLines="None" AllowPaging="True" PageSize="7" DataKeyNames="TopicID"
onpageindexchanging="GridView1_PageIndexChanging" Width="100%">
<Columns>
<asp:TemplateField>
<ItemTemplate>

<center>
<a dir="rtl" target="_self" href='../Show/Dawnload.aspx?Atach=<%#Eval("Atach")%>'>
<img src="../AfDanload_files/1157.png" title="دانلود فایل : <%#Eval("Subject")%>" width="120" height="25" />
</a><br /><br />
<b> <a href="#" onclick="OpenWindow('../Coments_Post.aspx',<%# Eval("TopicID")%>)">ارسال نظر برای این پست</a></b>
</center>

</ItemTemplate>
</asp:TemplateField>
</Columns>

<EmptyDataTemplate>
<p style=" color:Olive; float:none;">پست ثبت نشده است</p>
</EmptyDataTemplate>
<PagerStyle HorizontalAlign="Center" BorderStyle="Solid"/>
</asp:GridView>

asiehmohammadian
یک شنبه 14 خرداد 1391, 11:39 صبح
ممنون از راهنماییتون من یک کارایی کردم ولی هنوز مشکل دارم
من به صورت زیر منوی داینامیکم و تولید میکنم :
protectedvoid Page_Load(object sender, EventArgs e)
{
string ss = "";
SqlDataAdapter da = newSqlDataAdapter("select * from t_productgroups", con);
DataSet ds = newDataSet();
da.Fill(ds, "table");
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
SqlDataAdapter daa = newSqlDataAdapter("select * from t_zproductgroups where idgroup='" + ds.Tables[0].Rows[i]["id"].ToString() + "'", con);
DataSet dss = newDataSet();
daa.Fill(dss, "table");
ss += " <li class=top><a id=shop class=top_link href=#><span class=down>" + ds.Tables[0].Rows[i]["pr_groups"].ToString() + " </span></a><ul class=sub>";
if (dss.Tables[0].Rows.Count > 0)
{
for (int j = 0; j < dss.Tables[0].Rows.Count; j++)
{
ss += "<li><a href=Home.aspx>" + dss.Tables[0].Rows[j]["pr_zgroups"].ToString() + "</a></li>";
}

}
ss += "</ul>";
Label1.Text = ss.ToString();
}
}
}

حالا طبق فرمایش شما اومدم این تکه کددررویداد پیج لود صفحه Home.aspx نوشتم :

name = Request.QueryString["pr_zgroups"];
id = Int32.Parse(Request.QueryString["id"]);

اما دراین قسمت مربوط به تگ a جلوی href نمیدونم چی بنویسم چون الان وقتی اجرامیکنم میگه رشته خالی

for (int j = 0; j < dss.Tables[0].Rows.Count; j++)
{
ss += "<li><a href=Home.aspx>" + dss.Tables[0].Rows[j]["pr_zgroups"].ToString() + "</a></li>";
}
توروخدا کمکم کنید
این تکه کدی که شمالطف کردید نوشتید بایکی من فرق میکنه من اینجا که Eval مینویسم خطامیگیره
قسمت صفحه Home ودرست نوشتم ؟
ممنونم ازلطفتون
خواهش میکنم کمکم کنید

asiehmohammadian
یک شنبه 14 خرداد 1391, 22:37 عصر
دوستان خواهش میکنم
یکی کمکم کنه فقط بگید چطوری id وبگیرم
مشکل حل میشه خواهش میکنم

fakhravari
یک شنبه 14 خرداد 1391, 22:48 عصر
دقیقا میخواهید چی کار کنید شما؟

sasanrstm
یک شنبه 14 خرداد 1391, 23:16 عصر
دوستان خواهش میکنم
یکی کمکم کنه فقط بگید چطوری id وبگیرم
مشکل حل میشه خواهش میکنم
سلام اگه با 2008 c# پروژه تو بزار اينجا يه نگا هي بهش بكنم بعدش منظورتو من درست متوجه نشدم چيكار مي خوائي بكني ببين دگمه ادامه مطلب تو سايتها رو ديدي كه متن توضيح كوچلو ميزارن بعد يع دگمه در ادامه مطلب وقتي كاربر روش كليك ميكنه ميره تو اون صفحه اي كه توضيحات كامل براي اون مطلب هست كه با كئوري استرينگ درست ميشه خيلي هم سادست شما هم بايد همچين كاري بكنيد اگه درست متو جه شده باشم

asiehmohammadian
دوشنبه 15 خرداد 1391, 15:38 عصر
ازهمه دوستانی که لطف کردند ووقت گذاشتن و منو راهنمایی کردن واقعا ممنونم
به لطف شما بالاخره موفق شدم درستش کنم
ازهمه ممنونم