在ASP.net c#中从主表单调用用户控件公共函数的问题
本文关键字:控件 用户 函数 问题 调用 表单 net ASP | 更新日期: 2023-09-27 17:55:04
我在ASP.net c#中创建了一个带有下拉列表的用户控件(下面称为LookupGrid)。现在在主表单中,我想设置的数据源的组合框,但我得到NullExceptions时,设置的数据源的组合框
行主web表单中的代码:
LookupGrid droplist = new LookupGrid();
droplist.ID = field.Name;
RecordSet lookupvalues = inRecs.ServiceClient.WebServiceClient.GetInstance().GetLookup("CurrentNRS_Admit", Convert.ToInt64(Session["UserID"].ToString()), field);
droplist.SetData(lookupvalues.ToDataSet());
在用户控件:
protected void Page_Load(object sender, EventArgs e)
{
}
public void SetData(DataSet dTLookupValues)
{
DropDownList1.DataSource = dTLookupValues.Tables[0];
}
我得到错误:
Object reference not set to an instance of an object.
这一行:
DropDownList1.DataSource = dTLookupValues.Tables[0];
创建属性并从公共方法设置数据表。在页面加载中,您可以绑定数据
public DataTable MyData { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
DropDownList1.DataSource =MyData ;
DropDownList1.DataBind();
}
public void SetData(DataSet dTLookupValues)
{
MyData = dTLookupValues.Tables[0];
}
在主页
protected void Page_Load(object sender, EventArgs e)
{
var control = (LookupGrid )LoadControl("~/LookupGrid.ascx");
control.SetData(lookupvalues.ToDataSet());
Panel1.Controls.Add(control); //add control to your page or panel
}