我試圖創建一個簡單的按鈕,從數據庫中刪除一行。我想控制的ID設置爲類似delete_MATERIALID_button
然而,當我這樣做:ASP.NET - 以編程方式生成刪除按鈕
<asp:Button ID='delete_<%# Eval("MatID") %>_button' runat="server" Text="Delete" />
我得到這個名字不能這樣會產生一個錯誤。
我知道必須有一個簡單的解決方案,我只是無法弄清楚。
我試圖創建一個簡單的按鈕,從數據庫中刪除一行。我想控制的ID設置爲類似delete_MATERIALID_button
然而,當我這樣做:ASP.NET - 以編程方式生成刪除按鈕
<asp:Button ID='delete_<%# Eval("MatID") %>_button' runat="server" Text="Delete" />
我得到這個名字不能這樣會產生一個錯誤。
我知道必須有一個簡單的解決方案,我只是無法弄清楚。
按鈕將不得不被命名爲像這樣:
<asp:Button ID='<%# Eval("MatID", "delete_{0}_button") %>' runat="server" Text="Delete" />
但是,正如Shuwaiee說,使用CommandArgument可能是一個更好的爲id的地方。
CommandArgument='<%# Eval("MatID")%>'
你不能像這樣做,U需要指定一個固定的ID存在,並命令名稱(如刪除)和u可以通過在命令參數該ID ...和按需事件你將獲得這兩個值,命令名稱和命令參數...
niitn DHIMAN
您也可以在轉發的OnItemDataBound事件中添加命令參數值。在這種情況下,您可以訪問數據項,因此可以非常輕鬆地從數據項對象中獲取ID,找到當前綁定行的當前刪除按鈕,並將命令參數應用於該控件。
例如:
protected void rptrExample_OnItemDataBound(object Sender, RepeaterItemEventArgs Args)
{
if (Args.Item.ItemType == ListItemType.Item || Args.Item.ItemType == ListItemType.AlternatingItem)
{
SomeBusinessObj Obj = (SomeBusinessObj)Args.Item.DataItem;
Button btnDelete = (Button)Args.Item.FindControl("btnDelete");
btnDelete.CommandArgument = Obj.ID;
}
}
那個按鈕是一個GridView或類似的任何控制內? – 2010-04-17 18:52:01
它在一箇中繼器內。 – WedTM 2010-04-17 18:57:13