- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 MVC 应用程序,它用于从主视图 (ProductMaster) 将 ProductAreaGrid 列表显示为 PartialView,并且它将在局部 View 中将 CreateProductArea 作为 PartialView。我的 Gridview 部分操作重复调用,我不确定为什么它被重复调用。这段代码有没有循环引用?
我研究了谷歌并找到了以下链接,但也没有用。
Why does the PartialView keep calling itself?
下面是我的代码 MVC 代码。
ProductAreaGrid.cshml
@model IEnumerable<Brain.DAL.Entities.ProductArea>
@{
ViewBag.Title = "Product Area";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<p>
<a href="#" class="btn btn-success" data-target="#CreateProductArea" data-toggle="modal">
Add New
<i class="fa fa-plus"></i>
</a>
</p>
@Html.Partial("Partials/PA/CreateProductArea", null, new ViewDataDictionary() {})
<div class="table-responsive">
<table class="table table-bordered table-hover dataTable gray-table">
<thead>
<tr>
<th>Action</th>
<th>Name</th>
<th>Is Active</th>
</tr>
</thead>
<tbody>
@if (!Model.Any())
{
<tr>
<td colspan="3">There are no required support entries.</td>
</tr>
}
else
{
foreach (var item in Model)
{
<tr>
<td>
<a href="#" class="btn btn-xs btn-success" data-target="#EditReportLink-@item.Id" data-toggle="modal">Edit</a>
<a href="#" class="btn btn-xs btn-danger" data-target="#DeleteReportLink-@item.Id" data-toggle="modal">Deactivate</a>
@Html.Partial("Partials/PA/EditProductArea", item)
@Html.Partial("Partials/PA/De_ActivateProductArea", item.Id)
</td>
<td>
@Html.DisplayFor(model => item.Name)
</td>
<td>@Html.DisplayFor(model => item.IsActive)</td>
</tr>
}
}
</tbody>
</table>
</div>
ProductMastetIndex.cshtml
@{
ViewBag.Title = "Product Master";
}
@section Breadcrumb {
<ul class="breadcrumb">
<li>
<a href="@Url.Action("index", "home" )">Dashboard</a>
</li>
<li class="active">
<span>@ViewBag.Title </span>
</li>
</ul>
}
@section Scripts {
<script>
</script>
}
<div class="clearfix"></div>
@Html.Partial("ValidationSummary", ViewData.ModelState)
<div>
<br class="visible-sm visible-xs" />
<h3 class="tab-title">Product Area</h3>
<hr />
<div class="row">
<div class="col-lg-8">
@Html.Partial("AjaxGrid", Url.Action("PAGrid"), new ViewDataDictionary() { })
</div>
</div>
<hr class="seperate-line">
</div>
<div class="clearfix"></div>
ProductMasterController.cs
public class ProductMasterController : BaseController
{
private CachedCollections _cachedCollections;
private ProjectHelper _projectHelper;
private IUsersService _usersServices;
[SCIAuthorize(RoleEnum.PMO)]
[HttpGet]
public ActionResult ProductMasterIndex()
{
try
{
return View();
}
catch (Exception ex)
{
LogError(ex);
return Json(new { Message = new ToastrMessage(null, (ex is BrainServiceException) ? ex.Message : AppGlobalMessages.UnexpectedErrorMessage, ToastrMessageTypeEnum.Error) });
}
}
#region Product Area
[SCIAuthorize(RoleEnum.PMO)]
public PartialViewResult PAGrid()
{
var collection = _db.GetProductAreas()
.AsNoTracking()
.ToList();
return PartialView("Partials/PA/PAGrid", collection);
}
}
一旦页面完全呈现,下面的方法就会重复调用。为什么会这样?
public PartialViewResult PAGrid()
最佳答案
I figure out the problem after removing Layout = "~/Views/Shared/_Layout.cshtml";
这是一个原因。 “布局”属性/指令在此处指定:
ProductAreaGrid.cshml
...
@{
...
Layout = "~/Views/Shared/_Layout.cshtml";
}
通常,最终页面/ View 以以下嵌套结构呈现:
布局
查看(引用布局)
最终页面/ View 应包含完整有效的 html 内容:开始/结束 html 标记(在 View 中或相关布局中定义)。
部分 View - 是一个 block /单元,不应带有自己的开始/结束 html 标记,但应提供整个 html 内容的一部分。
例如:
<!--Layout-->
<html>
...
<body>
<!--View-->
<!--PartialView-->
<!--PartialView-->
<!--View-->
</body>
</html>
<!--Layout-->
在您的场景中,最终布局可能按以下方式构建:
布局(“~/Views/Shared/_Layout.cshtml”文件)
查看(“ProductMastetIndex.cshtml”文件)
but i am not sure why its calling the partial view
在 PartialView 中分配“布局”属性似乎从布局级别开始递归地重新运行相同的渲染例程。
要解决此问题,请在“View”(“ProductMastetIndex.cshtml”)文件中使用“Layout”指令,而不是在 PartialView 中:
ProductAreaGrid.cshml:
@model IEnumerable<Brain.DAL.Entities.ProductArea>
@{
ViewBag.Title = "Product Area";
...
}
ProductMastetIndex.cshtml:
@{
ViewBag.Title = "Product Master";
Layout = "~/Views/Shared/_Layout.cshtml";
}
关于c# - PartialView Action 正在调用自身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57823284/
有一个 ParentPage,它在右 Pane 中显示 PartialViewA。在 PartialViewA 中有一个下拉菜单。在选择特定值时,我想用 PartialViewB 替换 Partial
我的主页包含许多 PartialViews 这是我的 Index.cshtml @{ foreach (var summary in Model.Summaries)
我的代码在 VS2010 C# 中完美运行,但一旦发布到 IIS7,PartialView(记录列表)不会在 View 中呈现...它滚动到一个没有数据的新页面,除了从 SQL 检索的正确记录计数服务
我目前正在使用 ASP.NET MVC3 RC,并且正在使用不引人注目的 JQuery 验证,如 Brad Wilson 在 his blog 上所述。 。它工作得很好,但是当我将表单(在 Ajax
我正在开发 2 个 MVC5 网站。它们单独运行,但实际上彼此相关(1 个管理站点和 1 个用户站点)。在这两个站点中,我都必须使用 HTML 表格呈现图形板。我正在使用带有模型的 PartialVi
我正在使用 MVC4、C# 和 Razor 来制作一个简单的 Web 应用程序。 在我的 Controller 中,我有一个方法返回向用户显示的部分 View ,在本例中是模式弹出窗口: public
您好,我是 MVC 4 的新手。我遇到了partialView 的问题。我搜索了很多并研究了不同的教程,但找不到任何可以解决我的问题的解决方案。我创建了一个 PagedList 来显示记录在 Inde
我想获取标签的祖先标签。位于查看,删除位于部分 View 。 我可以通过 AJAX 将部分 View 加载到 View 中。但是,我无法采用部分 View 的祖先来操作部分 View ,在我的例子中,
我有部分 View ,我在 View 中使用 在这个partialView中我有切换开关 这是该开关的 css 文件 .switch { position: relative; dis
我将 MVC3 与 Jquery 的 .load() 和 PartialView() 结合使用。 通过我的 jquery,我正在执行以下操作: $("#stlist").load('@Ur
我在 ASP.NET MVC 页面上有一个 div,我想使用 jQuery 动态填充该 div(根据用户请求)。我目前使用 jQuery 对我的 Controller 进行 JSON 调用,该调用返回
我的PartialView是在View中渲染的,那么这个PartialView需要post controller,然后catch response,然后show。怎么做到的? 查看
我有一个索引页: @model AlfoncinaMVC.Models.VentaIndexViewModel @{ ViewBag.Title = "Ventas"; Layout
我有 MVC 应用程序,它用于从主视图 (ProductMaster) 将 ProductAreaGrid 列表显示为 PartialView,并且它将在局部 View 中将 CreateProduc
假设我像这样将数据传递给分部 View @Html.Partial("_LandingPage_CaseStudiesList", new { TrackAction = "Case Study Cl
我在 View 中使用 ajax 调用在 PartialView 中加载数据,而不会阻塞 UI。 $(function() { $.get( '@Url.Action("MyFunction
我有一个 Left 部分,其中包含我的特定页面的导航内容。 现在我想在其中显示一个 TreeView,因此我创建了一个局部 View 以将特定模型传递给该 View 。现在,我正尝试将该特定 View
我有一个显示“房间”对象的 HTML 表格的 View 。每个 Room 都是表中的一行(这是一个 PartialView)。 View 包含这段代码: @foreach (var item
我尝试设置一个小型演示,其中一篇文章有多个评论。文章详细信息 View ,应在部分 View 中呈现评论。 partialView 本身包含另一个用于添加新评论的局部 View 。 当我尝试添加另
我有一个 PartialView,其中包含带有 Razor 注释的 HTML 代码。它为我生成一个页面,我想通过电子邮件将其发送给任何人。有没有办法把这个PartialView翻译成HTML内容发送出
我是一名优秀的程序员,十分优秀!