Aym*_*oum 3 sitecore glass-mapper sitecore8
我正在使用玻璃映射器中的GetDataSourceItem方法将我的数据源项返回到视图,当数据源为空时,我调试了代码,控制器中的calloutModel将为null,但是从视图中,模型将不为null,它将具有当前项目模型,我正在使用以下代码:
我的控制器动作:
public ActionResult Callout()
{
// I didn't fill the datasource in the component
// calloutModel value is coming null.
var calloutModel= GetDataSourceItem<CalloutModel>();
return View(calloutModel);
}
Run Code Online (Sandbox Code Playgroud)
我的看法:
@inherits Glass.Mapper.Sc.Web.Mvc.GlassView<CalloutModel>
// Model is coming the current item in the view (it should be null)
Run Code Online (Sandbox Code Playgroud)
看起来这是由于GlassView基类。该类将重写InitHelpers方法,并在模型为null时调用其GetModel方法。如果没有数据源项,则GetModel方法将退回到上下文项。
为避免这种情况,可以将@inherits指令更改为@model CalloutModel,然后使用@ Html.Glass()帮助器来访问Editable方法等。
| 归档时间: |
|
| 查看次数: |
1846 次 |
| 最近记录: |