0
我的網頁上顯示了一些來自數據庫的數據,每個項目都有按鈕可以將其從數據庫中刪除。如何將值傳遞給ListView中按鈕的點擊處理程序?
這裏的ASPX:
<asp:ListView ID="productList" runat="server"
DataKeyNames="id_produkt"
ItemType="Shop.Models.Produkt" SelectMethod="GetProducts">
<ItemTemplate>
<tr>
<td><%#:Item.id_produkt%></td>
<td><%#:Item.nazwa_produkt%></td>
<td><%#:Item.cena%></td>
<td><%#:Item.poprzednia_cena%></td>
<td><%#:Item.Ilosc%></td>
<td>
<asp:Button CssClass="btn btn-info btn-sm" ID="Edytuj" runat="server" Text="Edytuj" OnClick="AddProductButton_Click" CausesValidation="true" />
<asp:Button CssClass="btn btn-danger btn-sm" ID="RemoveButton" runat="server" Text="Usuń Produkt" OnClick="RemoveProductButton_Click" CausesValidation="false" />
<a href="AdminPage_Details.aspx?productID=<%#:Item.id_produkt%>" class="btn btn-info btn-sm">Szczegóły</a>
</td>
</tr>
</ItemTemplate>
<ItemSeparatorTemplate></ItemSeparatorTemplate>
</asp:ListView>
我怎樣才能Item.id_produkt代碼隱藏的方法?
現在它看起來像這樣:
protected void RemoveProductButton_Click(object sender, EventArgs e)
{
using (var _db = new Shop.Models.EgzemplarzContext())
{
int productId = Convert.ToInt16();
var myItem = (from c in _db.Produkty where c.id_produkt == productId select c).FirstOrDefault();
IQueryable<Egzemplarz> query = _db.Egzemplarze;
query = query.Where(p => p.id_produkt == productId);
if (myItem != null && query != null)
{
foreach (var item in query)
{
_db.Egzemplarze.Remove(item);
}
_db.Produkty.Remove(myItem);
_db.SaveChanges();
// Reload the page.
string pageUrl = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Count() - Request.Url.Query.Count());
Response.Redirect(pageUrl + "?ProductAction=remove");
}
else
{
LabelAddStatusDanger.Text = "Nie można usunąć produktu.";
}
}
}
不知怎的,我需要從這種方法的產品列表獲取Item.id_produkt。
我該怎麼做?