【发布时间】:2026-01-29 06:50:01
【问题描述】:
我有一个 webusercontrol (MiniUrunControl.ascx),在这个 webusercontrol 中我添加了一个按钮,按钮点击功能是 imgButtonMini_Click。
protected void imgButtonMini_Click(object sender, ImageClickEventArgs e)
{
DataTable _tablo = (DataTable)Session["KULLANICISEPETI"];
foreach (DataRow _row in _tablo.Rows)
{
if (_row["urunid"].ToString() == lbUrunID.Text)
{
_tablo.Rows.Remove(_row);
Session["KULLANICISEPETI"] = _tablo;
break;
}
}
this.Page.GetType().InvokeMember("ShowSepetBilgisi",
System.Reflection.BindingFlags.InvokeMethod, null, this.Page, new object[] { });
}
现在,我在 Default.aspx 和 Default.aspx CodeBehind 中添加一个面板控件,如下所示;
protected void Page_Load(object sender, EventArgs e)
{
if(ispostback==false) ShowSepetBilgisi();
}
public void ShowSepetBilgisi()
{
DataTable _tablo = (DataTable)Session["KULLANICISEPETI"];
if (_tablo == null) return;
pnlMiniUrunler.Controls.Clear();
foreach (DataRow _row in _tablo.Rows)
{
MiniUrunControl _mini = (MiniUrunControl)LoadControl("MiniUrunControl.ascx");
_mini.SetInfo(_row["urunid"].ToString(), _row["adet"].ToString());
pnlMiniUrunler.Controls.Add(_mini);
}
}
好的,当运行网站时,我看到我的所有产品(面板中的 10 个 webusercontrols)都添加到面板控件中。但是当我单击 imgButtonMini button 时,所有控件都消失了,面板为空。我的按钮点击功能也不起作用。
您能帮我解决问题吗?我该如何运行按钮功能? 谢谢
【问题讨论】:
-
如果您动态添加它,您需要确保每次都添加您的网络用户控件。
-
嗨,我会一直这样做吗?一直以来我都会再次添加到面板中,不是吗?
-
是的,如果您正在动态创建用户控件并添加到页面,那么您需要再次执行此操作。因此,如果您使用 LoadControl("...ascx");您需要在回发时执行此操作,否则控件将无法连接到事件。你在做这个吗?
-
重新阅读你的代码(我之前没有时间)看起来你不是,因为你只是在第一次加载时才这样做。
标签: asp.net button click webusercontrol