项目间调用UserControl

工作中(c#)我们经常碰到这样的情况:写了一个UserControl,但是在另一个项目需要调用这个UserControl

下列两种方法可以实现

1.

  1) 将控件完全写在.cs文件中:创建一个UserControl,然后在后台文件中写控件,如下

 1         protected void Page_Load(object sender, EventArgs e)
 2         {
 3             string logoutUrl = ConfigurationManager.AppSettings["Logout"].ToString();
 4             Literal liter = new Literal();
 5             liter.Text = @"
 6             <div>
 7                 <span id='welcome'>Today is
 8                     " + DateTime.Now.ToString("yyyy/MM/dd") + @"&nbsp;&nbsp;Welcome
 9                     " + Session["ID"] + @"</span>
10                 <a id='TestLogout' class='logout' 
11                     href=" + logoutUrl + @" onclick='logout();'>Logout</a>
12             </div>";
13             Controls.Add(liter);
14         }

  2) 在需要控件的项目中添加Reference

  3) 页面控件注册:

<%@ Register Assembly="xxx" Namespace="xxx" TagPrefix="uc" %>

  4) 控件使用:

<uc:MyControl ID="MyControl1" runat="server"></uc:MyControl>

  注:这种方法只用来显示信息,不能添加事件调用。这种方法由于读取不 aspx 文件信息,所以所有代码写在 cs 文件中

2.

  1) 按正常流程编写UserControl

  2) 在需要控件的项目中添加Reference

  3) 将 aspx 文件拷贝到需要控件的项目中(否则程序找不到页面会报错)

  4) 页面控件注册:

<%@ Register Src="~/xxx/xxx.ascx" TagName="MyControl" TagPrefix="uc" %>

  5) 使用控件:

<uc:MyControl ID="MyControl1" runat="server" />
分享每天的收获之一种快乐。
原文地址:https://www.cnblogs.com/TXZkuaizi/p/3567275.html