نحوه استفاده از ListView در ASP WebForms
یکشنبه 3 آبان 1394در این مقاله شما را با نحوه استفاده از ListView و گرفتن اطلاعات هر سطر در بخش کد آشنا می کنیم.
در ابتدا یک کلاس به نام Person می سازم که شامل دو فیلد ID و Title است :
public class Person { public int ID { get; set; } public string Title { get; set; } }
در بالای صفحه اصلی (Default.aspx) یک لیست از نوع Person می سازم و آن را پر می کنم :
List<Person> MyList = new List<Person>() { new Person(){ID = 1,Title = "Sajad Bagherzadeh"}, new Person(){ID = 2,Title = "Iman Madaeny"}, new Person(){ID = 3,Title = "Ali Tamimi"}, new Person(){ID = 4,Title = "Bardia Ojaghi"} };
در قسمت Design صفحه اصلی یک ListView قرار می دهم و دیتاسورس آن را داخل Page_Load صفحه اصلی پر می کنم :
<asp:ListView ID="lvList" runat="server" OnItemCommand="lvList_OnItemCommand"> <ItemTemplate> <div class="item"> <h3><%# Eval("Title") %></h3> <asp:LinkButton ID="hlUpdate" runat="server" CommandArgument='<%# Eval("ID") %>' CommandName="DoUpdate">بروز رسانی</asp:LinkButton> <asp:LinkButton ID="hlDelete" runat="server" CommandArgument='<%# Eval("ID") %>' CommandName="DoDelete">حذف</asp:LinkButton> </div> </ItemTemplate> </asp:ListView>
protected void Page_Load(object sender, EventArgs e) { lvList.DataSource = MyList; lvList.DataBind(); }
با استفاده از رویداد OnItemCommand کامپوننت ListView خود می توانیم دکمه های داخل هر کدام از ردیف ها را به صورت جداگانه و با صدا زدن نامی که خودمان یه رویداد مورد نظرمان اختصاص می دهیم (CommandName) و گرفتن مقدار ذخیره شده داخل CommandArgument که می تواند ID هر ردیف جهت بدست آوردن آن مورد در کد باشد را مقدار دهی کنیم.
protected void lvList_OnItemCommand(object sender, ListViewCommandEventArgs e) { switch (e.CommandName) { case "DoUpdate": { int Id = int.Parse(e.CommandArgument.ToString()); var result = MyList.First(c => c.ID == Id); lblMessageShow.ForeColor = Color.Green; lblMessageShow.Text = result.Title + " با کد کاربری (" + result.ID + ") بروز رسانی شد."; break; } case "DoDelete": { int Id = int.Parse(e.CommandArgument.ToString()); var result = MyList.First(c => c.ID == Id); lblMessageShow.ForeColor = Color.Red; lblMessageShow.Text = result.Title + " با کد کاربری (" + result.ID + ") حذف گردید."; break; } } }
امیدوارم این مقاله مورد پسند شما قرار گرفته باشد . فایل پروژه ضمیمه این مقاله شده است.
- ASP.net
- 2k بازدید
- 4 تشکر