我会在 Content 文件夹中创建一个并行层次结构并将文件放在那里,可能是 HTML。然后,您可以使用并行层次结构约定通过 AJAX 在视图中简单地加载它们。
Content
Help
Home
index-help.html
about-help.html
Foo
index-help.html
bar-help.html
那么在你看来
<div class="help">
<noscript>
<a href='@Url.Content( "~/content/help/home/index-help.html" )'>Click for Help</a>
</noscript>
</div>
<script type="text/javascript">
$(function() {
$('.help').load( '@Url.Content( "~/content/help/home/index-help.html" )' );
});
</script>
如果您的路线一致,您还可以从视图中的 RouteData 中提取控制器/操作,并将其移动到您的 _Layout.cshtml 文件中,路径由路线数据提供。
@{
var controller = ViewContext.RouteData["controller"] as string;
var action = ViewContext.RouteData["action"] as string;
var url = Url.Content( string.Format( "~/content/help/{0}/{1}-help.html", controller, action ) );
<div class="help">
<noscript>
<a href="@url>Click for Help</a>
</noscript>
</div>
<script type="text/javascript">
$(function() {
$('.help').load( "@url" );
});
</script>
}