PDA

View Full Version : سوال: سبد خرید توسط datalist



Engineer_hamed
سه شنبه 31 اردیبهشت 1392, 22:35 عصر
سلام به دوستانم و کسایی که واقعا وقتشونو برا یادگرفتن آدمایی مثل من می کنن از همشون ممنونم
من ترم آخرم پروژه طراحی وب برداشتم الانم آخرشا ولی یه مشکل دارم من کالا هامو از دیتابیسم روی datalistنمایش می دم برای هر کالا داخل datalist یک دکمه گذاشتم می خوام وقتی روی دکمه مربوطه به کالا کلیک شد مشخصات کالا تو صفحه دیگه به لیست خرید مشتری اضافه بشه
اصلا نمی دونم چطوری باید به دکمه های datalist دسترسی داشته باشم
اگه میشه کمک کنید واقعا گیرافتادم نمی دونم باید چی کار کنم
مشکرم104480
اینم کدش
من یک دکمه تعریف کردم برای هر کالا روی datalist چطور میشه به هر دکمه مربوط به datalist دسترسی داشته باشم
104481

zerocool151
چهارشنبه 01 خرداد 1392, 02:42 صبح
commandArgument و commandname رو واسه دکمه تعریف کن بعد تو DetailsView1_ItemCommand ازش استفاده کن

Engineer_hamed
چهارشنبه 01 خرداد 1392, 10:18 صبح
commandArgument و commandname رو واسه دکمه تعریف کن بعد تو DetailsView1_ItemCommand ازش استفاده کن
ببخشید می تونی یک مثال بزنی؟؟؟یه بار این کارو کردم ولی نشد؟اصلا چه مقداری باید به commandها بدم یا تو فرم چطور ازشون استفاده کنم؟؟؟؟؟؟؟

zerocool151
چهارشنبه 01 خرداد 1392, 12:44 عصر
نمونه کد repeater رو میزارم چون الان grid اماده ندارم


<asp:Repeater ID="rptList" runat="server" OnItemCommand="rptList_ItemCommand"> <itemtemplate> <asp:ImageButton ID="imgbtnEnter" runat="server" CommandName="EnterLeague" CommandArgument='<%# Eval("ID") %>' ImageUrl="~/Images/EnterLeague.png" /></div> <asp:ImageButton ID="imgbtnDetail" runat="server" CommandName="Detail" CommandArgument='<%# Eval("ID") %>' ImageUrl="~/Images/Detail1.png" /></div> </itemtemplate> </asp:Repeater>
و در codebehind هم به این صورت ازش استفاده میکنی :


protected void rptList_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "EnterLeague")
{
کدهای مربوط به EnterLeague
}
if (e.CommandName == "Detail")
{
کدهای Delete
}

}

aebrs@yahoo.com
چهارشنبه 01 خرداد 1392, 14:40 عصر
نمونه کد repeater رو میزارم چون الان grid اماده ندارم


<asp:Repeater ID="rptList" runat="server" OnItemCommand="rptList_ItemCommand"> <itemtemplate> <asp:ImageButton ID="imgbtnEnter" runat="server" CommandName="EnterLeague" CommandArgument='<%# Eval("ID") %>' ImageUrl="~/Images/EnterLeague.png" /></div> <asp:ImageButton ID="imgbtnDetail" runat="server" CommandName="Detail" CommandArgument='<%# Eval("ID") %>' ImageUrl="~/Images/Detail1.png" /></div> </itemtemplate> </asp:Repeater>
و در codebehind هم به این صورت ازش استفاده میکنی :


protected void rptList_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "EnterLeague")
{
کدهای مربوط به EnterLeague
}
if (e.CommandName == "Detail")
{
کدهای Delete
}

}


اگر اشتباه نکنم برای دستور فوق باید چند نکته را رعایت کنید
اول که در دکمه دیگر دستور Onclick عمل نمی کند و باید از دستور onCommand استفاده کنید
دوم آنکه در CommandArgument هر دکمه باید Id آن رکورد از بانک را بگذارید
سوم آنکه CommandName را هم برای بررسی مانند مثال استفاده کنید
به این ترتیب هر دکمه شما دارای یک شناسه خواهد بود که شما در رویداد دستور می توانید به آسانی آنرا بدست آورید و بدانید که کاربر کدام کالا را انتخاب کرده است
امید وارم که مفید باشد
موفق باشید