MVC视图中的可重复内容
问题描述:
我有一个视图,其中有一个打开为JQuery对话框的DIV。这个DIV有很多元素,包括按钮和静态文本(这个DIV里面的元素没有被赋予来自任何模型的任何数据,也没有使用任何Razor语法)。现在我想把这个DIV移动到 的另一个页面,以使它可以重用。所以这个DIV可以用在其他视图中。达到此目的的最佳方式是什么?我应该使用MVC用户控件吗?MVC视图中的可重复内容
请推荐 感谢
答
将整个DIV放在MVC视图/共享文件夹中的局部视图中(或者其他文件夹,如果你想要至) 。假设你调用这个文件'_DialogView.cshtml'。您可以将此部分视图作为部分视图从您的普通页面调用,如下所示:
@Html.RenderPartial('_DialogView')
答
保持页面在一个单独的htm。然后使用jquery.load('mypage.htm')。你也可以在加载中使用散列函数jquery.load('main.htm#divname')
答
您还可以使用声明助手。请参阅ScottGu的博客here中的“在多个视图中重复使用@helpers”一章。
MyHelpers.cshtml
@helper GiveMeInput()
{
<input type="text" name"something"/>
}
使用
@MyHelpers.GiveMeInput()