从在不同位置实现的用户控件调用方法

时间:2017-02-11 12:25:17

标签: c# asp.net oop user-controls

我已将用户控件创建为FormPicker.ascx。我使用下面的代码段将它包含在AdmissionPicker.aspx页面中。

<%@ Register Src="~/Common/Controls/FormPicker.ascx" TagName="FormPicker"
TagPrefix="uc1" %>

<div>
<uc1:FormPicker ID="FormPicker" Width="100%"
runat="server" AddAny="True" />
</div>

在FormPicker.ascx.cs中我调用了下面的函数。 LoadAdmissionData()在AdmissionPicker.aspx.cs中实现

var admitCtrl = new AdmissionPicker();
admitCtrl.LoadAdmissionData();

LoadAdmissionData()方法包含一个下拉列表。下拉列表在AdmissionPicker.aspx中实现。

public void LoadAdmissionData()
{
  int val=DropDownList.SelectedIndex();
}

我在同一页面中使用LoadAdmissionData()方法,现在我需要从FormPicker.ascx.cs中调用它。调用它时,它不会识别DropDownList。如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

嗨,请你改变这一行

var admitCtrl = new AdmissionPicker();

var admitCtrl = (AdmissionPicker) Page;