1

我是 Umbraco 和 MVC 的新手,但不是 Webforms 的新手。我有一个在 Umbraco 模板中工作正常的部分视图,但我也希望它在内容富文本编辑器中可用,而不仅仅是在模板中。

模板调用局部视图,如:

@Html.Partial("ContactForm", new Mynamespace.UmbracoCms.ContactFormModel())

在 Umbraco 后台开发人员选项卡上的部分视图宏文件下,我为部分视图添加了 .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>
}

我显然遗漏了一些东西,但我找不到任何文档或教程来完成我正在寻找的东西。

感谢您的任何帮助,您可以提供!

4

1 回答 1

1

听起来您需要做的就是将宏添加到内容中。

在 Umbraco Admin 后端的 Developer 部分中,在 Partial View Macro Files 文件夹上单击鼠标右键并选择创建。选中创建宏复选框并输入宏的名称。在创建的 .cshtml 文件中,将调用粘贴到局部视图并保存。

然后听起来你错过的一点是在内容富文本编辑器中,将光标放在你想要宏的位置,然后从顶部栏中选择插入宏,在其中保存和发布以及选择样式等,然后选择你拥有的宏刚刚创建。

我的表单版本和你的表单版本之间的一个区别是我使用@Html.Action() 而不是@Html.Partial()。

于 2013-08-31T21:14:59.817 回答