Razor Sitecore比较Web表单和网页中的HTML元素

Razor Sitecore比较Web表单和网页中的HTML元素,razor,webforms,sitecore,Razor,Webforms,Sitecore,我有一个名为“内容”的占位符 在Sublayout项目(WebForm)中,我在Sublayout.ascx文件中添加了一个简单的复选框元素,然后将此Sublayout组件添加到内容页的占位符中。 我可以通过单击来切换选中和取消选中 在Rendering Item(View Rendering)中,我在Rendering.cshtml中添加了相同的checkbox元素,然后将这个View Rendering组件添加到内容页的占位符中。我无法通过单击来切换选中和取消选中 如果我使用WebFo

我有一个名为“内容”的占位符

  • 在Sublayout项目(WebForm)中,我在Sublayout.ascx文件中添加了一个简单的复选框元素,然后将此Sublayout组件添加到内容页的占位符中。 我可以通过单击来切换选中和取消选中

  • 在Rendering Item(View Rendering)中,我在Rendering.cshtml中添加了相同的checkbox元素,然后将这个View Rendering组件添加到内容页的占位符中。我无法通过单击来切换选中和取消选中

如果我使用WebForm查看页面的源代码,我可以在checkbox input元素下面看到定义了数据源信息的
元素。但是,ViewRendering并非如此


为什么??

如何像WebForm那样制作渲染页面

来自.ascx布局(查看页面来源)



{“命令”:
[{
“单击”:“chrome:占位符:addControl”,
“标题”:“添加到此处”,
“图标”:“/temp/IconCache/Applications/16x16/add2.png”,
“disabledIcon”:“/temp/add2_disabled16x16.png”,
“isDivider”:错误,
“工具提示”:“向“{0}”占位符添加新的呈现。”,“类型”:”
},
{
“单击”:“chrome:占位符:编辑设置”,
“标题”:“,
“图标”:“/sitecore/shell/themes/standard/Custom/16x16/edit\u placeholder\u pageeditor.png”,
“disabledIcon”:“/temp/edit_占位符_页面编辑器_disabled16x16.png”,
“isDivider”:错误,
“工具提示”:“编辑占位符设置”。,“类型”:”
}],
“contextItemUri”:sitecore://master/{419180A8-2B07-4C92-9880-A01CB2FCE235}?lang=en&ver=8“,
“自定义”:{“允许渲染”:[
“493B3A830FA744848FC94680991CF743”,
“4E428A766D214C9BB4EFDBB3943565F0”,
“D5A2772AC14A4AB28E9116B59DEE2B34”,
“28F99AEC25BA4611A8BF39274C69C1C4”,
“E6E21E7286824773ABBC7B746B0E2A59”,
“A34CA1A819324408B07BBC1625A4AAB7”,
“B2868099F18644A78123BF0D18AC0139”,
“30ED63BC1C5A48E9A021E2E0836B3E69F”,
“6A54B0C5552149D28B32CF719745935”,
“561B3FFB3EE649AA9570E828D65E919E”
],
“可编辑”:“真”
},
“显示名称”:“内容”,
“expandedDisplayName”:空
}
从Razor布局(查看页面来源)



因为它们是原生HTML复选框,所以它们应该完全相同。为什么标记中有
标记?是否存在影响复选框元素的JavaScript?您可以发布更多的razor视图吗?您是否将视图渲染添加到与ascx相同的布局中?您不能在同一个请求中混合和匹配,因此您需要确保您的布局文件也是razor。@jammykam当然,我有两个布局(一个用于.ascx,另一个用于.cshtml)@IanGraham我还尝试添加Html.Helper,如
@Html.Checkbox(“chID”)
。输出也有同样的问题。我可以手动添加带有已定义占位符键的
标记和其他内容,但我想知道为什么???除了手动添加
标记之外,应该有一个解决方案。您使用的是哪个版本的Sitecore?你确定在你的网站上吗?因为它们是原生HTML复选框,所以它们应该完全相同。为什么标记中有
标记?是否存在影响复选框元素的JavaScript?您可以发布更多的razor视图吗?您是否将视图渲染添加到与ascx相同的布局中?您不能在同一个请求中混合和匹配,因此您需要确保您的布局文件也是razor。@jammykam当然,我有两个布局(一个用于.ascx,另一个用于.cshtml)@IanGraham我还尝试添加Html.Helper,如
@Html.Checkbox(“chID”)
。输出也有同样的问题。我可以手动添加带有已定义占位符键的
标记和其他内容,但我想知道为什么???除了手动添加
标记之外,应该有一个解决方案。您使用的是哪个版本的Sitecore?你确定在你的网站上吗?
<input name="main_0$centercolumn_0$ch" type="checkbox" id="main_0_centercolumn_0_ch">
<code type="text/sitecore" chrometype="placeholder" kind="open" id="_main_centercolumn_content" key="/main/centercolumn/content" class="scpm" data-selectable="true">
    {"commands":
        [{
            "click":"chrome:placeholder:addControl",
            "header":"Add to here",
            "icon":"/temp/IconCache/Applications/16x16/add2.png",
            "disabledIcon":"/temp/add2_disabled16x16.png",
            "isDivider":false,
            "tooltip":"Add a new rendering to the '{0}' placeholder.","type":""
        },
        {
            "click":"chrome:placeholder:editSettings",
            "header":"",
            "icon":"/sitecore/shell/themes/standard/Custom/16x16/edit_placeholder_pageeditor.png",
            "disabledIcon":"/temp/edit_placeholder_pageeditor_disabled16x16.png",
            "isDivider":false,
            "tooltip":"Edit the placeholder settings.","type":""
        }],
        "contextItemUri":"sitecore://master/{419180A8-2B07-4C92-9880-A01CB2FCE235}?lang=en&amp;ver=8",
        "custom":{"allowedRenderings":[
                                        "493B3A830FA744848FC94680991CF743",
                                        "4E428A766D214C9BB4EFDBB3943565F0",
                                        "D5A2772AC14A4AB28E9116B59DEE2B34",
                                        "28F99AEC25BA4611A8BF39274C69C1C4",
                                        "E6E21E7286824773ABBC7B746B0E2A59",
                                        "A34CA1A819324408B07BBC1625A4AAB7",
                                        "B2868099F18644A78123BF0D18AC0139",
                                        "30ED63BC1C5A48E9A0212E0836B3E69F",
                                        "6A54B0C5552149D28B32CF71F9745935",
                                        "561B3FFB3EE649AA9570E828D65E919E"
                                        ],
        "editable":"true"
        },
        "displayName":"content",
        "expandedDisplayName":null
    }
</code>
<input name="ch" type="checkbox" id="ch">