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

时间:2011-11-29 07:35:19

标签: c# asp.net-mvc razor

我想为使用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>

1 个答案:

答案 0 :(得分:0)

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

这也是相关的,已经回答Here