SiteFinity内置Captcha表单组件无alt标签,修改视图后未生效咨询
Sitefinity Captcha视图修改不生效问题排查
- 路径正确性确认
你选择的Resource Packages > Bootstrap > MVC > Views > Captcha > Write.default.cshtml路径是正确的,这是Bootstrap资源包下Captcha表单字段的默认视图文件,只要你的站点当前激活的前端资源包为Bootstrap,就不需要调整路径。 - 核心问题:修改后的代码存在语法错误,导致视图编译失败
你修改后的img标签存在属性未闭合的问题:
<!-- 你修改的错误代码 --> <img data-sf-role="captcha-image" alt="captcha Image src='@Url.WidgetContent("assets/dist/img/dummy.jpg")'/>
这里alt="captcha Image缺少闭合的双引号,正确的写法应该是:
<img data-sf-role="captcha-image" alt="captcha Image" src='@Url.WidgetContent("assets/dist/img/dummy.jpg")'/>
同时你贴出的完整代码中还有一处语法错误:
<!-- 错误代码,缺少闭合标记 --> <input type="hidden" data-sf-role="captcha-settings" value="@Model.GenerateUrl" <!-- 正确写法 --> <input type="hidden" data-sf-role="captcha-settings" value="@Model.GenerateUrl" />
视图代码存在语法错误时,Sitefinity会自动回退使用内置的默认视图,所以你看不到修改效果。
- 关于是否需要重启应用
默认配置下ASP.NET会自动检测.cshtml文件的变更,触发动态重新编译,不需要手动重启。如果修改语法问题后依然不生效,可以通过文件管理器找到站点根目录的web.config文件,任意编辑添加一个空行后保存,即可触发应用池重启,让修改生效,不需要.NET编辑器权限。
内容的提问来源于stack exchange,提问作者LisaH
相关产品推荐
相关产品推荐

