我使用ASP.NET创建了一个Web项目。我得到了几个WUC和.aspx网页 现在我想创建一个“utility.cs”文件,以避免重写始终相同的代码,但我将进入utility.cs的一种方法使用WUC组件。那么如何将WUC“加载”到.cs文件中呢?
综上所述:
utility.cs:
public static class utility
{
public void pLoadDDL(DropDownList ddl, string query, string idField, string descField){...}
public void pLoadCheckableDropDownList(MultiSelectDropDown msdd, string queryPopola,string queryVista, string strIdField, string strDataField){...}
}
Multi SelectDropDown是一个WUC。如果我已将此代码添加到网页(.aspx)中,我将能够添加如下指令:
<%@ Register TagPrefix="ddms" TagName="MultiSelectDropDown" src="WUC/MultiSelectDropDown.ascx" %>
我无法添加到简单的.cs文件中。而且我不想将我的代码移动到aspx文件,因为它只复制了一个来自女巫代码的文件......它不是一个网页。
感谢您的帮助。
答案 0 :(得分:0)
假设WUC是Web用户控件,请查看Page.LoadControl()。
你需要这样的东西:
MultiSelectDropDown dropDown = (MultiSelectDropDown) Page.Load("WUC/MultiSelectDropDown.ascx");
从那里你可以将dropDown
传递给你的效用方法。
答案 1 :(得分:0)
Alberto错误是什么?
您的代码是否未编译?只需输入包含命名空间的using或完全限定名称,而不仅仅是MultiSelectDropDown
总的来说,我对此的回答是,如果您正在使实用程序类有用并且被所有控件使用,则不应将其与您编写的特定Web用户控件相结合,否则您将/可能最终获得循环引用。
如果这是一个实用工具类,并且你的所有WUC最终都会使用它,那就保持它的通用性,并在MultiSelectDropDown
本身内放置处理MultiSelectDropDown
等自定义控件的方法,最终作为公共方法可以从所有页面或其他类别调用。
答案 2 :(得分:0)
Here是MSDN文章如何从代码隐藏动态加载用户控件
答案 3 :(得分:0)
以下是MSDN文章如何从代码中动态加载用户控件 后面
@StefanE:也许你没有仔细阅读我的问题,或者我的英语不够好,不能很好地解释我的问题。我写道:
“Multi SelectDropDown是一个WUC。如果我已将此代码添加到网页(.aspx)中,我可以添加这样的指令:
<%@ Register TagPrefix="ddms" TagName="MultiSelectDropDown" src="WUC/MultiSelectDropDown.ascx" %>
我无法添加到简单的.cs文件。“
正如您在文章中看到的那样,“ASP.Spinner”被定义为变量定义WUC的同一个aspx页面。程序员可以编写如下内容:
ASP.Spinner myvariable =(ASP.Spinner)Page.LoadControl(“完整的wuc路径和名称”);
但是如果“ASP.Spinner”没有在WUC的相同上下文中定义(即在我的情况下,我必须写几个方法来填充/清除/等等WUC到纯.cs文件) ..........你不能。
容易;)