本文概述
ASP.NET提供了一种创建可重用组件的功能,以便可以在Web应用程序中共享这些组件。这些可共享的组件称为局部视图。
局部视图是可以插入父视图的视图。此视图文件具有与其他视图.cshtml相同的扩展名。
什么时候应该使用局部视图?
当具有包含多个逻辑部分的大视图文件时,我们可以将其分解为较小的组件,这些组件可以进一步呈现为部分视图。
注意:-剃刀视图适用于DRY(请勿重复自己)概念。
ASP.NET提供以下两种方法来呈现部分视图。
方法 | 描述 | 重载方法 |
---|---|---|
Partial(String) | 它将指定的局部视图呈现为HTML编码的字符串。 | 部分(字符串, 对象)部分(字符串, 对象, ViewDataDictionary)部分(字符串, ViewDataDictionary) |
RenderPartial(String) | 它通过使用指定的HTML帮助器来呈现指定的局部视图。 | RenderPartial(String, Object)RenderPartial(String, Object, ViewDataDictionary)RenderPartial(String, ViewDataDictionary) |
除了RenderPartial()具有void返回类型之外,这两种方法均用于呈现部分视图。 RenderPartial()比Partial()具有更好的性能。
创建局部视图
要创建局部视图,请右键单击Views文件夹或其子文件夹,然后像在以下屏幕截图中一样添加视图。
添加后,它将创建一个不包含任何生产代码的文件PartialViewDemo.cshtml。
我们有一个包含一些HTML源代码的视图。我们要在此文件中渲染创建的局部视图。让我们看看我们该怎么做?
我们的视图文件包含以下源代码。
// Registration.cshtml
@{
ViewBag.Title = "User Registration Form";
}
<hr />
<h3>User Registration Form</h3>
<hr />
<div class="form-horizontal">
@using (Html.BeginForm("Registration", "Students"))
{
<div class="form-group">
@Html.Label("User Name", new { @class = "control-label col-sm-2" })
<div class="col-sm-10">
@Html.TextBox("username", null, new { @class = "form-control" })
</div>
</div>
@Html.Partial("PartialViewDemo")
<div class="form-group">
<div class="col-sm-2"></div>
<div class="col-sm-10">
<input type="submit" value="submit" class="btn btn-primary" />
</div>
</div>
}
</div>
PartialViewDemo.cshtml
<div class="form-group">
@Html.Label("Email ID", new { @class = "control-label col-sm-2" })
<div class="col-sm-10">
@Html.TextBox("email", null, new { @class = "form-control" })
</div>
</div>
注册页面包含单个文本框组件,PartialViewDemo页面包含第二个文本框。
@ Html.Partial()方法用于将部分视图呈现给注册视图。
输出:
当我们运行注册页面时,它将产生以下输出。
我们可以将其提交为单个表格。
此表单将所有值提交给以下屏幕快照中显示的操作。
评论前必须登录!
注册