问题标签 [partial-views]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
11980 浏览

asp.net - 从 JQuery 加载部分视图未在 MVC 中显示

当我使用 JQuery 加载部分视图时,我无法在 ASP.Net MVC 1.0 中渲染它。

我有一个控制器,如:

我有一个索引视图:

然后我有一个 PartialView:

我有一些 JQuery:

我已经删除了一些我知道正在努力使问题更易于阅读的代码。

当我单击我的 DropDownList 时,它会调用 JQuery,转到我的控制器并似乎运行部分类,但它不呈现任何内容。

我试过 evilDonald 的回答,同样的事情发生了,所以也许我在某个地方做了一些愚蠢的事情?

非常感谢这里的任何帮助或一般建议。

0 投票
3 回答
2497 浏览

asp.net-mvc - 在同一页面上渲染两个局部视图

我可以显示所有客户的列表,我可以显示所有订单的列表,我想更进一步。

我想在同一页面上呈现两个部分视图,以显示与该客户相关的客户详细信息和订单。

我创建了一个视图模型

在我的客户控制器中,我定义了

然后我尝试将 CustomerAndOrdersViewModel 传递给详细信息视图

但是我收到 orderRepository 的错误“对象引用未设置为对象的实例”。

我哪里错了?

0 投票
5 回答
3863 浏览

ajax - 如何在 ASP.NET MVC 中构建单页界面?

我想使用 ASP.NET MVC 构建一个具有“单页界面”的 Web 应用程序。

我已经搜索了这是否至少是可能的,我认为答案是:不是通过简单的方式(阅读http://msdn.microsoft.com/en-us/magazine/cc507641.aspx#S2 second-last paragraph;那篇文章不过是从 2008 年 5 月开始的)。

我发现了其他通过使用 jQuery 进行编码/黑客攻击来实现这一点的示例。但是,如果可能的话,我正在寻找一个干净的解决方案,使用标准的 .NET 方法。

当您创建一个新的“MVC Web 应用程序”时,我想要的是完全相同的功能。但是,我想要链接到“ # Home/About”的链接,而不是重新加载整个页面的“/Home/About”链接,它只通过 AJAX 加载新部分。

使用 Html.RenderPartial 调用模板(部分视图)的标准方法正是我想要的,然后才通过 AJAX 请求加载它们。

当然,可能由于某种原因,我不能使用母版页呈现的这些模板(也许它总是希望在某个上下文中从某个地方或某个地方调用)。但是,对于如何构建模板页面并从母版页面获取它们,也许还有另一种干净的解决方案。

谁有一个很好的解决方案来实现这样的事情,单页界面?

PS:我正在使用 C# 安装 MVC 1.0 的 Visual Web Developer 2008 Express Edition 进行开发

[编辑] 下面我读到使用模板是可能的,而且 jQuery 看起来确实是不可避免的,所以我对其进行了测试。以下代码将 Html.ActionLink 创建的常规链接转换为锚链接(带 #)以包含历史记录,然后通过 AJAX 获取页面并仅注入我感兴趣的 html 部分(即 div 中的部分页面#部分视图):

这些链接还允许优雅的降级。

但是我现在剩下的仍然是获取整个页面而不是仅获取部分页面。改变控制器没有帮助。它仍然为我提供了整个页面的 html,以及所有这些语句:

我怎样才能只返回我感兴趣的部分的内容(即 Home/About.aspx 的内容)?我想要的是使用 AJAX 发布一个值(例如“requesttype=ajax”),以便我的控制器知道该页面是通过 AJAX 获取的,并且只返回部分页面;否则它将返回整个页面(即当您访问/Home/About 而不是#Home/About 时)。

更改 Global.asax.cs 是否为 AJAX 调用创建一个新的路由模式是一个好习惯,它只会返回部分页面?(我还没有研究这么多。)

[edit2] Robert Koritnik 是对的:我还需要一个 About.ascx 页面 (UserControl),其中只有该页面的小 HTML 内容。About.aspx 的第一行与母版页链接,MasterPageFile="~/..../Site.master"从而导致所有 HTML 都被打印出来。

但是为了能够在我的控制器中执行以下操作:

我需要更改找到PartialView(.ascx 文件) 和View(.aspx) 文件的方式,否则这两种方法将返回相同的页面 ( About.aspx,最终导致无限循环)。将以下内容放入 后Global.asax.cs,将返回正确的页面PartialView()View()

0 投票
1 回答
629 浏览

ruby-on-rails - 嵌套的 link_to_function / insert_html 导致 javascript 错误

我使用 link_to_function / insert_html 将部分插入页面。一切正常,直到我将另一个 link_to_function / insert_html 添加到正在呈现到页面中的部分中。突然之间,外部 link_to_function 链接停止工作并抛出此错误:

“属性列表后缺少 }” [打破此错误] t.insert("content_items_1", { bottom: " ...[][position]\" type=\"hidden\" value="

我认为 html/js 块被双重渲染到引用的链接中的事实导致了问题。这似乎是 Rails 的一个错误,但这似乎也很常见。我错过了什么吗?有什么简单的解决方法吗?

代码:主页

代码:部分“章节”

这是不起作用的链接(添加章节链接) - 将 \n,\n,\\n 替换为新行:

0 投票
1 回答
740 浏览

asp.net-mvc - 具有动态继承类的asp.net MVC部分?

我有一个在两个控制器之间共享的部分视图,我正在尝试找到一种方法来更改它所继承的内容,具体取决于从哪个视图或哪个控制器调用它。

IE:

我当前的部分是这样开始的:

我希望它也能够从另一个类继承,因为在两个单独的控制器中需要相同的信息

有任何想法吗?

谢谢

0 投票
2 回答
1870 浏览

asp.net-mvc - Spark 视图引擎 - 将模型传递给局部视图

它想遍历列表并为每个元素呈现部分视图:

我应该如何将 elem 传递给局部视图?<render partial> 没有额外的参数。我可以使用 html.RenderPartial,但我想使用 Spark 语法。是否可以?它看起来好像需要使用相同的 ViewData 并且无法定义自己的模型。

编辑:

部分观点:

好的。我可以在局部视图中使用“elem”,但局部视图不知道“elem”是什么类型。当然一切都会工作,因为生成的视图类可以编译,但我在部分视图中没有智能感知。

0 投票
2 回答
810 浏览

php - RoR 模板部分/集合的 PHP 等效项

我试图找出为我正在编写的 PHP 模板类实现 RoR 样式的部分/集合的最有效方法。对于那些不熟悉 rails 的人,我想遍历位于单独文件中的模板片段(例如表格行或列表项)。我想在不诉诸 eval 或在循环中放置 include 的情况下做到这一点。

我看过一篇类似的帖子,它解决了单个部分,这很简单,但没有涉及在集合中实现部分。我一直在考虑这个问题,我的头很痛,我担心我忽略了一个明显的解决方案。我希望这里有人可以提出一个优雅的解决方案,同样,不需要 eval 或包含在循环中。TIA。

0 投票
3 回答
144 浏览

asp.net-mvc - 如何将两组数据传递给一个视图?

如何将两组数据传递给 ASP.NET MVC 中的视图?

我已经尝试了几件事,但都没有奏效,所以我得出了一个简单的结论:我做错了。

我有 2 个查询:

callRepository.FindOpenCalls()callRepository.FindAllMyCalls(user)

我想通过 2 个部分视图(分别为 OpenCalls.ascx 和 AssignedCalls.ascx)将两组数据输出到一个视图中。

我想使用 CallsController.vb 中的 Index() 函数来执行此操作。

目前我有:

显然它只返回打开的调用,但我想返回 viewOpenCalls 和 viewMyOpenCalls。

我该怎么办?

会显示我的 LINQ 帮助吗?

感谢您提前提供任何帮助。

0 投票
1 回答
1087 浏览

asp.net - 如何从 ASP.Net MVC 中的 AJAX 调用返回嵌套的 PartialViews(包括它们的 javascript)

我使用嵌套的局部视图创建了类别的树视图:

我的索引页面(显示树视图):

ItemCats_UL:

ItemCats_LI:

现在,当我在页面加载时从控制器索引操作返回基本视图(“索引”,模型)时,此树视图可以完美运行。

我想通过 AJAX 调用更改 Treeview 中显示的类别模型(嵌套的部分视图)时,问题就来了......

例如:我单击一个“Cats2”按钮,页面应在 Treeview 中显示 ParentID 为 2 的类别。我通过从我的控制器操作返回 ItemCats_UL PartialView 的 html 的 JsonResult(使用在此处找到的RenderPartialToString方法)来尝试此操作。你们中的一些人可能知道,当您使用 AJAX 表单返回 PartialViewResult 时,Javascript 不会在您的局部视图中运行,并且我的 Treeview 中需要 Javascript,这就是我使用 RenderPartialToString 的原因。

类别选择按钮单击处理程序:

我的控制器动作:

结果:

ItemCats _UL partialView displays! BUT the nested PartialViews (ItemCats_LI)不要!

当我单步执行 ItemCats_UL.ascx 中的标记并将鼠标悬停在以下代码的“Html”部分时收到错误:

值不能为空。参数名称:viewContext
Html = 'Html' 抛出了 'System.ArgumentNullException' 类型的异常
我想知道是否有聪明人可以扩展 RenderPartialToString 方法以包含嵌套的局部视图?还是我错过了一些简单的东西?

0 投票
3 回答
625 浏览

c# - 看似简单的MVC局部视图问题

我试图在我的局部视图中的表格的两列中显示我的数据(图像)。下面的代码似乎不起作用,因为它在自己的行中显示每个图像。我错过了什么?