PDA

View Full Version : ثبت تعداد کلیکها بر روی یک لینک



bardia goharbin
پنج شنبه 05 بهمن 1385, 08:03 صبح
من یک DataList دارم که درون آن یک HyperLink دارم که propertyهای آن از دیتابیس خوانده میشود و HyperLinkها به ترتیب به کاربر نمایش داده میشود که تا اینجا مشکلی ندارم.
حالا قصد دارم وقتی کاربر بر روی این HyperLinkها کلیک میکند هربار در دیتابیس به فیلدی یک رقم اضافه کنم. مشکل اینجاست که اولا در زمان اجرا چگونه بفهمم که بر روی کدام HyperLInk کلیک انجام گرفته که بتوانم ID آن HyperLink را بدست بیاورم و با یک دستور SQL ، شماره ID مربوطه را در بانک اطلاعاتی جستجو و رقم جدید را ثبت کنم. (امیدوارم سئوالم واضح باشد. :گیج: ) ضمنا با #C کار کرده ام. این کار را با QueryString میتوانم انجام دهم و حتی با Ajax نیز میشود انجام داد که ترجیح میدهم از این طریق Ajax باشد که صفحه هم Refresh نشود. به هر صورت سئوال من این است که راه حل اجرای اینگونه موارد چیست؟ یا اگر به غیر از این موارد راه حل دیگری وجود دارد من را راهنمایی کنید و نمونه کدی را معرفی کنید

Alireza_Salehi
پنج شنبه 05 بهمن 1385, 09:49 صبح
به جای HyperLink از LinkButton استفاده کن ، دو خاصیت به نام های CommandName و CommandArgument داره که اولی رو یه اسم بهش بده (مثلا AddCounter) و دومی رو هم مقداری که موقع اضافه شدن به دیتابیس بهش احتیاج داری (مثلا به فیلد ID جدولت بایند کن)

بعد در رویداد ItemCommand دیتا لیست با یه دستور If اگر e.CommandName مساوی اسمی که برای Command انتخاب کردی بود هر کدی که خواستی رو اجرا میکی.


<asp:LinkButton ID"idlinkButton" runat="Server" CommandName="Addcounter" CommandArgument='<%# Eval("id") %>'></asp:LinkButton>
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName = "AddCounter")
{
// Your Code
}
}

bardia goharbin
پنج شنبه 05 بهمن 1385, 10:08 صبح
بازم مثل همیشه توضیح شما نکته آموزشی خوبی برام بود و مشکلم رو از بیخ حل کرد، خداوکیلی اینجا باید به جای کلید تشکر یک کلید سجده بگذارن که من روش کلیک کنم برات. دقیقا همون چیزی که دنبالش بودم رو گفتی.


e.CommandArgumet

amir_monster
جمعه 11 آبان 1386, 08:03 صبح
میشه لطفا بگین که چطور میتوان متوجه شد که یک مقاله در سایت چند بار دیده شده یا همان تعداد بازدید از مطلب ، با توجه به اینکه مطلب مورد نظر از دیتابیس خوانده میشود .

من مطلب فوق را متوجه نشدم آیا در vb.net دستورات بالا تغییری تغییر میکند ؟ اگه از دوستان کسی بیشتر توضیح بده ممنون میشم .