模型的明確鑄造我嘗試自ViewPage inhering如圖這一問題Inheriting from ViewPage自ViewPage力量鑑於
但我得到一個
編譯器錯誤消息繼承:CS1061:「對象」不包含關於「點」的定義和沒有擴展方法「點」接受類型「對象」的第一個參數可以找到(是否缺少using指令或程序集引用?)
我的ViewPage,通常我可以做Model.Ch ildProperty(Spot)直接從ViewPage繼承,所以我也是這樣做的。但它失敗了。
<%@ Page Language="C#" Inherits="Company.Site.ViewPageBase<WebSite.Models.SpotEntity>" %>
<h1><%= Html.Encode(Model.Spot.Title) %></h1>
要得到它的正常工作,我必須這樣做:
<%@ Page Language="C#" Inherits="Company.Site.ViewPageBase<WebSite.Models.SpotEntity>" %>
<h1><%= Html.Encode(((WebSite.Models.SpotEntity)Model).Spot.Title) %></h1>
這裏是我的課:
namespace Company.Site
{
public class ViewPageBase<TModel> : Company.Site.ViewPageBase where TModel:class
{
private ViewDataDictionary<TModel> _viewData;
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public new ViewDataDictionary<TModel> ViewData
{
get
{
if (_viewData == null)
{
SetViewData(new ViewDataDictionary<TModel>());
}
return _viewData;
}
set
{
SetViewData(value);
}
}
protected override void SetViewData(ViewDataDictionary viewData)
{
_viewData = new ViewDataDictionary<TModel>(viewData);
base.SetViewData(_viewData);
}
}
public class ViewPageBase : System.Web.Mvc.ViewPage
{
}
}
那麼,如何得到它沒有明確科協工作?
應該不是你的ViewPageBase繼承System.Web.Mvc.ViewPage ? –
Jab
2010-05-28 16:33:47