问题标签 [asp.net-mvc-partialview]

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 投票
2 回答
16084 浏览

asp.net-mvc - ASP.Net MVC:集合中对象的 Html.Display()

使用适当的视图模板绘制项目的标准 MVC 示例是:

Html.DisplayFor(m => m.Date)

如果 Model 对象有一个 DateTime 类型的 Date 属性,这将返回一个带有来自 Display/DateTime.ascx 模板的 HTML 的字符串。

假设你想做同样的事情,但不能使用强类型版本——你在编译时不知道这个视图的模型类型。您使用较旧的:

Html.Display("日期");

所以这是困难的部分。

假设模型是 IEnumerable。您不知道这些对象在编译时是什么,但在运行时它们恰好是 Date 类型为 DateTime 的对象,例如:

现在假设您希望您的 View 遍历这些对象并渲染每个对象。如果您只关心您可以这样做的价值:

我显然采取了一些捷径来保持这个例子的重点。

重点是——我如何完成我为自己写的 TODO?我不只是想得到这个值——我想让它像 Html.Display("Date") 这样的格式很好。但是,如果我只是调用 Html.Display("Date"),它会检查模型,它是一个 IEnumerable,是否有一个名为 Date 的属性,它当然没有。Html.Display 不将对象作为参数用作模型(例如 Html.Display(obj, "Date"),并且我能找到的所有类和方法都位于下面似乎是内部的,所以我不能t 调整并直接调用它们。

必须有一些简单的方法来完成我正在尝试做的事情,但我似乎找不到它。

只是为了确保我清楚 - 这是 DateTime.ascx 的代码示例:

因此,理想情况下,这个视图的输出可以采用任何模型,但在这种情况下,上面这些模型类对象中的 3 个的列表将是:

2001 年 11 月 10 日 2002 年 11 月 10 日 2003 年 11 月 10 日

因为代码会找到 DateTime 的 Display PartialView 并为每个相应地呈现它。

那么 - 我如何完成 TODO?

0 投票
3 回答
9475 浏览

asp.net - 部分 ASP.NET MVC 视图提交

我是 ASP.NET MVC 的新手,所以这个问题可能看起来很“愚蠢”,抱歉。

我的主页视图中有一个局部视图。

Partial View 提交一个表单,调用 HomeController 中的 Action 方法。

它适用于服务器验证,问题是在发布后只呈现部分视图。

发布后如何渲染整个主页视图?

关于代码:

在 PartialView 我有一个表格:

Request 是在我的 HomeController 中定义的 ActionResult。

此时,post 后,ascx 显示服务器验证错误,但仅渲染 PartialView ascx 代码。发帖后的 URL 如下所示:

我想要的是显示整个主页视图,其中 ascx 显示服务器验证错误。

0 投票
2 回答
14393 浏览

asp.net-mvc - ASP.NET MVC 中局部视图的正确位置是什么?

有人会确认 ASP.NET MVC 中局部视图的最佳位置吗?

我的想法是,如果它是一个将在许多地方使用的全局视图,那么 SHARED。

如果它是一个视图的一部分,它被包装到一个局部视图中以使代码阅读更容易,那么它应该进入 Views/Controller 目录

我是正确的还是我错过了什么?

0 投票
1 回答
495 浏览

jquery - 在 MVC 2 应用程序的 PartialView 中传递模型?

我有一个时间表应用程序,其中一个视图包含一个由 jQuery 加载的 PartialView。主 View 和 PartialView 使用不同的模型类型进行强类型化。

加载数据一切正常。每个模型的数据被加载到主视图(包含所有客户和任务的下拉列表)和 PartialView(特定创建的任务,输入字段记录小时数)。

但是,需要提交 PartialView(包含表单),以便其模型可以更新数据库。通常,MVC 绑定的简单性应该是模型的属性绑定到视图中的字段,并且您可以提交然后保存模型。但它在这里不起作用。首先,我似乎还需要通过 jQuery 提交 PartialView,就像我需要以这种方式获取数据一样。因为如果我只使用提交输入字段,则 PartialView 是唯一返回的内容(返回时它会占用整个页面)。所以我这样做了:

单击保存时间按钮时:

在控制器中:

正如我的评论所示,我使用一个简单的字符串进行了测试,以查看我是否可以访问绑定到 PartialView 中的字段的模型,但我没有。

我现在想我可能会尝试使用 ViewData 而不是将模型传递给 View,然后将字段绑定到 ViewData。我不知道这是否会更好,但这是我目前唯一的想法。还是我在这里做错了什么?是否有可能做我一直想做的事情,只是我做错了?

0 投票
1 回答
781 浏览

database - MVC 2 <% HTML BEGIN FORM %> 与局部视图冲突

我正在为一家公司做一个 MVC 2 vb 项目,以下代码用于通过 model.edmx 检索数据库表。我有多个选项卡,我已经实现了单独的部分视图来包含数据。查看页面

控制器页面

所以这里的问题是,当我点击“提交”按钮时,它会弹出一个错误,引用 '_db.ApplyCurrentValues(itin.EntityKey.EntitySetName, Itinerary) ',“itinerary”为空,无法更新。

这是因为“行程”没有传递到 BkgEntry 后功能。与 Pax 不同,Bill 能够做到。我已经尝试了几种方法,我想知道是否是因为多个部分表单与 <%Html Begin form%> 冲突导致视图出现错误,如果是,我该如何解决?

0 投票
1 回答
138 浏览

jquery - 使用复杂模型验证局部视图?

我有一个时间表应用程序,我在其中使用 jQuery 加载 PartialView。一切正常,但我不知道如何验证输入。我尝试过与以前类似的方式进行操作,但它不起作用:

虽然这个 PartialView 是使用 jQuery 加载的,但它还包含一个提交按钮,用于提交到一个操作方法。

因为我使用的是实体框架,所以我读到我需要用 DataAnnotations 来装饰模型,如下所示:

所以我想确保这里输入的小时数是 0 到 24 之间的数字。(我也想确保它是一个 int,但我还没有做到这一点,首先需要进行验证)

所以这不起作用,我做错了什么?是否不可能这样做,因为我在 PartialView 中有带有 for 循环的复杂模型?

我也在考虑尝试找到某种严格的 jQuery 验证(我已经看到为此存在 jQuery 插件),但我不知道如何在 PartialView 中使用 jQuery。因为当 document.ready 函数位于主(父)视图中时,如何让 jQuery 运行?无论如何我都需要这个,因为以后如果用户选择输入字段,我希望能够做一些事情......

PS:我对 jQuery 和 MVC 还是很陌生,所以我真的很感激我做错了什么的明确指示......谢谢!

0 投票
1 回答
227 浏览

asp.net-mvc - 如何在 ASP.NET MVC 3 中进行可扩展的部分输出缓存

在任何视图上使用可扩展输出缓存 .NET 4都没有问题。但是我不能为局部视图(RenderAction)扩展输出缓存(在磁盘上)。

0 投票
1 回答
441 浏览

asp.net-mvc-2 - asp.net mvc 查看数据

我在将某些数据解析到 PartialView 时遇到了一些问题。在字典中解析时,属性值和键在 ViewData 中设置......我如何将字典与 ViewData 合并......所以我可以使用这样的键访问我的字典项目:

代替

我将像这样使用它......只是不想要匿名/魔术字符串名称。

我希望做这样的事情。<%: Html.EditorFor(x => x.GroupId, "SimpleSelectList", Html.AddViewData(Model.List)) %>

使用此扩展方法:

然后我将永远知道 SimpleSelectList 模板应该寻找什么......并且不必再次依赖另一个魔术字符串......

或者人们如何做到这一点?只是试图进入代码库以及人们如何做这种事情......

0 投票
1 回答
1772 浏览

.net - 继承了不同视图模型的局部视图

我有一个带有 ViewModelBase 的 MVC2 项目。我有一个由 masterPage 调用的 PartialView :

此 PartialView 也称为 PartialView :

最后一个 PartialView 需要一个继承 ViewModelBase 的 ViewModelBannerFront :

我以为有了继承就没有问题了,我在控制器中设置了 ViewModelBannerFront :

此操作调用包含在母版页中的视图(其中包含标题部分视图等...)。

我有一个类型错误,你能帮我吗?如何在我的最后一个 PartialView 中传递 ViewModelBannerFront?先感谢您

0 投票
2 回答
2144 浏览

asp.net-mvc - ASP .NET MVC - 创建局部视图仅适用于“编辑”操作结果,不适用于“创建”

我创建了一个局部视图,供模型的“编辑”视图使用。我可以成功地编辑记录,但是在为我的“创建”视图使用部分视图时,我得到一个空引用异常。

这是我的部分观点:

和 POST ActionResult:

GET 创建:

输入/选择有效值后,表单提交将导致 Visual Studio 退出到部分视图中的“DropDownList”,并显示“未处理 NullReferenceException”。

如何确定导致 null 错误的原因?(我是 MVC 新手)

更新:错误似乎与我的控制器中的 [HttpPost] Create 方法有关。我使用与模型中的字段之一相同的名称来命名输入类......这似乎已经破坏了具有空引用异常的程序。