我是Umbraco和MVC的新手,但不是Webforms的新手。我有一个部分视图在Umbraco模板中工作正常,但我也希望它可以在内容丰富的文本编辑器中使用,而不仅仅是在模板中。
模板调用部分视图,如:
@Html.Partial("ContactForm", new Mynamespace.UmbracoCms.ContactFormModel())
在Umbraco后台的Developer选项卡上的Partial View Macro Files下,我为部分视图添加了.cshtml文件。
@inherits Umbraco.Web.Mvc.UmbracoViewPage<Mynamespace.UmbracoCms.ContactFormModel>
@{
Layout = null;
}
<h3>Contact Form</h3>
@using (Html.BeginUmbracoForm("SendEmail", "ContactFormSurface"))
{
<div class="formRow">
@Html.LabelFor(x => Model.Name)
@Html.EditorFor(x => Model.Name)
@Html.ValidationMessageFor(x => Model.Name)
</div>
<div class="formRow">
@Html.LabelFor(x => Model.Email)
@Html.EditorFor(x => Model.Email)
@Html.ValidationMessageFor(x => Model.Email)
</div>
<div class="formRow">
@Html.LabelFor(x => Model.Comment)
@Html.EditorFor(x => Model.Comment)
@Html.ValidationMessageFor(x => Model.Comment)
</div>
<div class="buttonRow">
<input type="submit" name="Submit"/>
</div>
}
我显然遗漏了一些东西,但我找不到任何文档或教程来完成我想要的东西。
感谢您提供的任何帮助!
答案 0 :(得分:1)
听起来您需要做的就是将宏添加到内容中。
在Umbraco Admin后端的Developer部分中,单击Partial View Macro Files文件夹右侧的,然后选择create。保持勾选Create Macro复选框并输入宏的名称。在创建的.cshtml文件中,粘贴对部分视图的调用并保存。
然后听到您错过的位于内容丰富的文本编辑器中,将光标放在您想要宏的位置,并从顶部栏中选择插入宏,在那里保存并发布和选择样式等,然后选择你刚刚创建的宏。
我的版本和你的版本之间的一个区别是@ Html.Partial()我使用@ Html.Action()。