在我的asp项目中,我必须调用自定义用户控件来执行一些人员,并且用户控件不在我的项目中。
在.aspx页面中,我将用户控件注册如下
<%@ Register Src="../Dev/popup/PopupSelection.ascx" TagName="PopupSelection" TagPrefix="checkSet"%>
并将其用作
<checkSet:PopupSelection ID="popSelProject" runat="server" PopupWidth="600px" PopupHeight="620px" AllowMultipleSelection="false"/>
对于上面的代码,弹出成功显示没有任何错误。
但是,当我尝试在page_load中调用用户控件的方法时,它会显示
'System.Web.UI.UserControl'不包含的定义 'SetKeyValue'并没有扩展方法 'SetKeyValue'接受第一个类型的参数 可以找到'System.Web.UI.UserControl'(你是否错过了使用 指令或程序集引用?)
我的aspx.cs代码:
protected void Page_Load(object sender, EventArgs e)
{
popSelProject.SetKeyValue("key", "Value");
}
和我的ascx文件:
public partial class PopupSelection : System.Web.UI.UserControl
{
//.....
public Dictionary<string, string> SetKeyValue {
set
{
ViewState["SetKeyValue"] = value;
}
get
{
if (ViewState["SetKeyValue"] != null)
return (Dictionary<string, string>)ViewState["SetKeyValue"];
else
{
Dictionary<string, string> dic = new Dictionary<string, string>();
ViewState["SetKeyValue"] = dic;
return dic;
}
}
}
//.....
}