我怎么能拉从数据库母版内容,并传递到母版,这样我的看法,从它继承? 这是一个例子:
客户端的网站都会有一个唯一的代码,让我们把它称为“TargetCode”,例如,ABC123,ABC456,等等。这种独特的代码将在查询字符串输入,例如:mysite.com/ABC123。
每个那些“TargetCode”都会有不同的CSS,姓名,地址,电话号码,(通用于所有网页,因此它们将被放置在母版页)和页面内容(大约2-3页,让我们称之为thse网页索引,产品和MoreInfo)。
所以,当我访问的网站地址,mysite.com / ABC123,首先它会寻找到数据库中,检查是否存在的代码,如果是的话,那拉母版信息(CSS,姓名,地址,电话号码),并使用该为母版。 然后,我会拉页内容(索引,产品和MoreInfo)其他的动作,所有这些页面将使用过程的相同母版内容。
非常感谢你。
你的主人还可以在一个母版System.Web.Mvc.ViewMasterPage.MasterViewModel
所以我想有你的控制器调用模型来获得你所需要的资源,然后绑定基于控制器视图调用合适的视图。
这是我目前拥有和它似乎工作,但我不知道这是做正确的方法:
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
HomeRepository hr = new HomeRepository();
var result = filterContext.Result as ViewResult;
if (result == null)
return;
string TargetCode = string.Empty;
Controller control = filterContext.Controller as Controller;
System.Collections.Specialized.NameValueCollection query = filterContext.HttpContext.Request.QueryString;
if (query.Count > 0 && query["TargetCode"] != null && query["TargetCode"].ToString() != "")
{
TargetCode = query["TargetCode"].ToString();
}
if (string.IsNullOrEmpty(TargetCode))
if (control != null) control.HttpContext.Response.Redirect("./NoCode");
if (!hr.CheckTargetCodeExists(TargetCode))
{
if (control != null) control.HttpContext.Response.Redirect("./InvalidCode");
}
var ThemeData = hr.GetMasterPageContent(TargetCode);
result.ViewData["ThemeData"] = ThemeData;
}
我应该使用OnActionExecuting()或OnActionExecuted()?