📜  ASP.Net剃刀局部视图

📅  最后修改于: 2020-12-28 01:03:00             🧑  作者: Mango

ASP.NET Razor部分视图

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()方法用于将部分视图呈现为注册视图。

输出:

当我们运行注册页面时,它将产生以下输出。

我们可以将其提交为单个表格。

此表单将所有值提交给以下屏幕快照中显示的操作。