📅  最后修改于: 2020-12-28 01:03:00             🧑  作者: Mango
ASP.NET提供了一种创建可重用组件的功能,以便可以在Web应用程序中共享这些组件。这些可共享的组件称为局部视图。
局部视图是可以插入父视图的视图。此视图文件具有与其他视图.cshtml相同的扩展名。
当具有包含多个逻辑部分的大视图文件时,我们可以将其分解为较小的组件,这些组件可以进一步呈现为部分视图。
注意:-剃刀视图适用于DRY(请勿重复自己)概念。
ASP.NET提供以下两种方法来呈现部分视图。
Method | Description | Overloaded Methods |
---|---|---|
Partial(String) | It renders the specified partial view as an HTML-encoded string. | Partial(String, Object) Partial(String, Object, ViewDataDictionary) Partial(String, ViewDataDictionary) |
RenderPartial(String) | It renders the specified partial view by using the specified HTML helper. | 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";
}
User Registration Form
@using (Html.BeginForm("Registration","Students"))
{
@Html.Label("User Name", new { @class = "control-label col-sm-2" })
@Html.TextBox("username", null, new { @class = "form-control" })
@Html.Partial("PartialViewDemo")
}
PartialViewDemo.cshtml
@Html.Label("Email ID", new { @class = "control-label col-sm-2" })
@Html.TextBox("email", null, new { @class = "form-control" })
注册页面包含单个文本框组件,PartialViewDemo页面包含第二个文本框。
@ Html.Partial()方法用于将部分视图呈现为注册视图。
输出:
当我们运行注册页面时,它将产生以下输出。
我们可以将其提交为单个表格。
此表单将所有值提交给以下屏幕快照中显示的操作。