个性化阅读
专注于IT技术分析

asp.net razor局部视图

本文概述

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

输出:

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

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

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

赞(0)
未经允许不得转载:srcmini » asp.net razor局部视图

评论 抢沙发

评论前必须登录!