如何在视图中创建可重用的小部件并定义小部件内容

本文关键字:小部 定义 视图 创建 | 更新日期: 2023-09-27 18:16:07

我想为一个用ASP创建的网站创建可重用的小部件。NET MVC和Razor。基本上,我想要实现的是在我的视图中放置一些内容并在前后呈现一些HTML,就像这样的伪代码:

@widget("MyWidget")
{
   This is the content.
}

MyWidget.cshtml将包含小部件布局,当从布局调用@RenderBody时,它将输出This is the content

我目前的实现要求我将小部件内容放在与视图分开的文件中,我想避免这种情况。

在我看来,我可以通过像这样调用Html.Partial来渲染一个小部件:

<div class="col_6 last">
    @Html.Partial(@"Widgets'MyWidget")
</div>

部分MyWidget.cshtml只包含小部件的内容,而实际的小部件"chrome"被放置在WidgetLayout中。从部分引用的CSHTML,如下所示:

@{
    Layout = "/Views/Shared/WidgetLayout.cshtml";    
}
<p>   
    This is the widget content.
</p>

如何在视图中创建可重用的小部件并定义小部件内容

您必须创建一个Html帮助器,您将在using( )块中使用,类似于using(Html.BeginForm()),在顶部广告<form>标签,在末尾广告</form>

这也是相关的,已经回答了这里