我有一个Razor辅助函数,它创建了一个可重复使用的HTML面板,可以让我一遍又一遍地编写相同的HTML.
@helper DefaultPanel(string panelTitle) {
<div class="panel">
<div class="panel-logo"><img src="/logo.png"></div>
<div class=panel-inner">
<p class="panel-title">@panelTitle</p>
<div class="panel-content">
/* Can I pass content to be rendered in here here? */
</div>
</div>
</div>
</div>
}
Run Code Online (Sandbox Code Playgroud)
我想知道,是否有可能重新使用这个助手来填充.panel-content更多的HTML以允许进一步的灵活性和代码重用 - 类似于下面的内容:
@LayoutHelpers.DefaultPanel("Welcome back") {
<div class="panel-content-inner">
<p>Welcome back, please select from the following options</p>
<a href="#">Profile</a>
<a href="#">My Defails</a>
</div>
}
Run Code Online (Sandbox Code Playgroud)
虽然使用.NET MVC我注意到Html.BeginForm()在@using声明中的语句中包装代码时会发生类似的事情Html.BeginForm,如下所示:
@using (Html.BeginForm("Index", "Login", FormMethod.Post))
{
<div>This content gets rendered within the <form></form> markup.</div> …Run Code Online (Sandbox Code Playgroud)