<%Html.RenderPartial("ViewUserControl1"); %>
用这句导入用户控件比<uc1:ViewUserControl1 这种方式要好些
页面上不会出现ViewState的状态乱码。
至于 ViewUserControl1这个控件需要的 数据源,则需要在这个页面的Control里面返回出来
index.aspx页面代码:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<!DOCTYPE html>
<html>
<head>
<title><%=ViewData["title"] %></title>
</head>
<body>
<%Html.BeginForm("Index", "Home");%>
<%Html.RenderPartial("ViewUserControl1"); %>
<%Html.EndForm(); %>
</body>
</html>
用户控件代码:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
<h1>
我是用户控件 <%= ViewData["NewsModel"]%>
</h1>
控制器代码:
public ActionResult Index()
{
// CategoryManager cServ = ServiceBuilder.BuildCategoryService();
// ViewData["Categories"] = cServ.GetAll();
ViewData["NewsModel"] = "我勒个去啊";//这句就是返回用户控件需要的数据源
ViewData["title"] = "我是首页";
return View("Index");
}