【发布时间】:2010-06-05 23:33:55
【问题描述】:
我创建了一个用户控件来捕获教育详细信息,它包含 5 个文本框和一个用于将这些值插入到我的数据库中的函数。我已将用户控件添加到页面 5 次。我的 aspx 页面上有一个按钮,我希望能够单击并调用该函数来插入值。
谁能建议我如何做到这一点?
【问题讨论】:
标签: asp.net user-controls
我创建了一个用户控件来捕获教育详细信息,它包含 5 个文本框和一个用于将这些值插入到我的数据库中的函数。我已将用户控件添加到页面 5 次。我的 aspx 页面上有一个按钮,我希望能够单击并调用该函数来插入值。
谁能建议我如何做到这一点?
【问题讨论】:
标签: asp.net user-controls
将值插入数据库的函数不应该在您的用户控件中,而应该在您的页面中。您的用户控件本身有保存按钮还是只有页面?在第一个变体中,您应该引发一个事件,页面可以捕获它来保存值。在第二个变体中,您应该迭代通过您的用户控件(动态添加还是固定添加?)。您应该添加将文本框的值返回到页面的公共属性,然后您可以将这些值保存到数据库中。
【讨论】:
在您的用户控件上放置一个public 方法。
// Inside MyUserControl
public void SaveIt() {
// logic to perist the values to db.
}
单击按钮时,从您的 ASPX 页面(或后面的代码)循环访问您的用户控件实例并调用该方法:
// On Click...
MyUserControl[] arrControls = new MyUserControl[] {myUC1, myUC2, myUC3, myUC4, myUC5};
foreach (MyUserControl c in arrControls)
c.SaveIt();
【讨论】: