代码之家  ›  专栏  ›  技术社区  ›  Ryan

如何在驻留在某个区域的razor页面中使用编辑器模板?

  •  0
  • Ryan  · 技术社区  · 6 年前

    使用razor页面时如何使用编辑器模板?我还将面积用作结构模式。

    我打电话时看不到输出 @Html.EditorFor(m => m.Something) .但是,我在使用时确实看到了自定义显示模板的内容 @Html.DisplayFor(m => m.Something) .

    我的项目树如下所示。。。

    • 地区
      • 身份
          • ... 我的各种页面
      • 共享
        • 显示模板
          • 一串cshtml(例如)
        • 编辑模板
          • 一串cshtml(同样,示例)

    有了这种结构,我看到的是我的显示模板,而不是编辑器模板。

    在使用razor页面时,如何使用编辑器模板&地区?

    visual studio project explorer

    0 回复  |  直到 6 年前
        1
  •  1
  •   Michael Wang    6 年前

    @Ryan我试着重复你的密码来找出答案 @Html.EditorFor() @Html.DisplayFor() 会导致错误 partial 看法

    但是 @Html.Raw() @Html.TextBoxFor() 效果很好。
    没有明确的答案来解释这个问题 @Html。编辑 @Html。DisplayFor() 我还在找。

    /页面/共享/显示模板/字符串。cshtml

    @model RazorPages62921534.Models.User
    
    
    <h1>DisplayTemplates</h1>
    @Html.LabelFor(m => m.Id): @Html.Raw(Model.Id)
    

    /页面/共享/显示模板/字符串。cshtml

    @model RazorPages62921534.Models.User
    
    
    <h1>EditorTemplates</h1>
    @Html.LabelFor(m => m.Name): @Html.TextBoxFor(x => x.Name)
    

    区域/身份/页面

    @page
    @model RazorPages62921534.Areas.Identity.Pages.IdentityIndexModel
    
    @{
    
            var user = new RazorPages62921534.Models.User() {
                Id = 1,
                Name = "Ada"
            };
    }
    
    
    @Html.Partial("~/Pages/Shared/DisplayTemplates/string.cshtml", user)
    
    
    @Html.Partial("~/Pages/Shared/EditorTemplates/string.cshtml", user)
    

    enter image description here

    测验

    enter image description here

    相关链接
    How to pass a nested model value in @Html.Partial
    Passing a model to a partial view

    我误解你的需求了吗?请让我知道,我会跟进的 这件事已经结束了。