问题标签 [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 投票
1 回答
739 浏览

ajax - 将 HTML.DropDownList 助手与视图模型和 Ajax 一起使用

我正在尝试将 html.dropDownList 助手与带有 ajax 的强类型视图模型一起使用。由于项目的性质,我无法发布代码。

这里基本上我在做什么......

  • 通过强类型视图模型加载 mvc 视图
  • 单击将 ajax 发布到控制器方法的按钮
  • 使用 TryUpdateModel 解析视图模型
  • 处理请求
  • 为 ajax 请求渲染部分视图

根据下面列出的文章,问题在于“ASP.NET MVC 假定如果您正在呈现视图以响应 HTTP POST,并且您正在使用 Html 帮助程序,那么您很可能正在重新显示验证失败的表单。”

http://blogs.msdn.com/b/simonince/archive/2010/05/05/asp-net-mvc-s-html-helpers-render-the-wrong-value.aspx

我需要在视图模型中将 html.dropDownList 设置为相同的值,而不是“重新显示相同的表单值”。

有谁知道任何自定义 dropDownList 助手或对如何实现这一点有任何想法?

我已经尝试/考虑过的事情

  • 根据博客,手动删除模型状态项...没有用 - 没有在视图模型中获取值 - 只是默认为下拉列表中的第一项

  • 考虑只是写一个常规的选择列表......但这很草率而且很麻烦,因为我在一个循环中渲染了多个选择列表

  • 编写我自己的自定义 dropDownList 助手...想避免重新发明轮子

提前致谢

0 投票
2 回答
2472 浏览

asp.net-mvc - 在 MVC 3 中,如何从局部视图访问模型?

在我的应用程序中,我有两个视图,它们使用参数中给出的模型呈现相同的局部视图,如下所示:

在视图 1 中:

在 View2 中:

如何在局部视图中访问模型以处理数据?

更新

我的模型没有相同的结构。

0 投票
1 回答
1071 浏览

asp.net-mvc - ASP.NET MVC Razor 页脚联系表

我一直在互联网上搜索,找不到解决方案。我对 MVC 相当陌生。如何在页脚中创建一个“联系我们”表单,该表单呈现为部分并显示在每个页面上?我只是想获取表格以向我们发送包含客户信息的电子邮件。

0 投票
2 回答
743 浏览

templates - 为操作 PartialViewResult 重用 MVC PartialView 编辑器/显示模板

Views/DisplayTemplates调用了一个局部视图显示模板,Bar.cshtml以便可以像这样使用它:

不幸的是,如果我想在类似的操作中使用return PartialView("Bar",fooModel);它,因为它不在搜索的文件夹列表中,所以找不到它。目前我已经制作了该文件的副本并将其放入其中Views/DisplayTemplatesViews但是有没有正确的方法来使用一个文件?

0 投票
1 回答
261 浏览

jquery - 带有字段集的 IE7 Partialview 导致下划线

你好来自stackoverflow的人我发现了更多的IE7问题(在IE9的兼容模式下测试)。我正在尝试通过使用 JQuery 将 partialView 动态加载到我的页面中,如下所示:

现在我遇到的问题是 Partial 在页面内有一个 fieldset 标签,在图例下方有几行文本。问题是文本带有下划线,带有字段集的线条(边框),但由于某种原因,下划线不会出现在图例下方。部分看起来像这样:

以前有没有其他人遇到过这个问题,你的解决方案是什么?

PS:这不会发生在 crome、firefox 或 IE9 中。

PS2:它位于 ASP.NET 4.0 MVC 3.0 项目中。

编辑:

这是问题的图片:http: //i1073.photobucket.com/albums/w382/kroeze1992/IE7UnderlinedBug.png

0 投票
1 回答
886 浏览

asp.net-mvc-3 - MVC 3 中的简单自定义寻呼机

我正在寻找按照以下简单要求实现寻呼机的最佳方法。

我想要这样的页面

我的动作控制器看起来像这样......

当我单击“1”(页面索引 = 1)时,我将 1 作为参数传递给 DisplayRecordDetails 操作方法并加载带有记录 1 的局部视图。

当我单击“2”(页面索引 = 2)时,我将 2 作为参数传递给 DisplayRecordDetails 操作方法并加载带有记录 2 的局部视图,依此类推......

我将拥有总项目计数信息和当前页面索引信息。现在如何使用此信息动态生成寻呼机?

我曾尝试搜索寻呼机库/助手,但它们都是用于网格的。我如何根据我的情况使用它们?我没有网格。我只有一个部分视图,需要根据页码动态加载。

0 投票
1 回答
1697 浏览

asp.net-mvc-3 - MVC OrderBy EditorFor IEnumerable

我刚刚注册,这是我的第一篇文章,所以如果问题不是最好的,请多多包涵。我看了看,找不到适合我要求的答案;这可能是因为无法实现我想要的。

我有一个部分视图,它从视图模型中提取 EditorFor 字段的 IEnumerable 列表:

DocumentViewModelContainer 具有以下代码:

DocumentViewModel 具有以下代码:

在这两个视图模型中,我忽略了很多其他对象,因为它们与这个问题无关。DocumentMetadataFieldViewModel 由多个标准类型(int、strings 等)的字段组成。

我想要实现的是添加一个 OrderBy 到这个列表中,通过底部视图模型中的对象排序来拉回,如下所示:

然而,这给出了错误:

我不仅对 MVC 很陌生,而且对 C# 也很陌生;这个项目让我在飞行中学习了语言,所以请玩好 :)

谢谢,

标记

0 投票
2 回答
1741 浏览

ajax - 带有 Ajax 部分视图的 MVC3 - 未执行 OnBegin 验证

在一个 MVC3 应用程序中,我有一个呈现两个 Ajax 部分视图的视图:一个创建部分视图和一个列表。在创建局部视图中,我尝试在 OnBegin 事件上触发客户端验证,但这不会发生。

当我强制错误时,我得到的错误消息是模型注释中指示的,而不是我在称为 OnBegin 的验证函数中定义的错误消息(例如:

  • 将活动地点留空,我得到“需要活动地点”(注释)而不是“它发生在哪里? ”(FieldsValidation 函数),

  • 对于事件描述,我得到“需要事件描述”(注释)而不是“告诉我们某事! ”(FieldsValidation 函数)

  • 并且验证摘要消息是“创建时出错。请在更正后重试。 ”而不是“保存失败。请更正错误并重试。 ”(FieldsValidation 函数)。

我试图在 FieldsValidation 函数中放置一个断点,但从未达到。为了确保,我还尝试调用 OnBegin 显示警报的函数(测试后我恢复了对 FieldsValidation 函数的原始调用):

警报永远不会显示!

如果所有字段都正确填写,则事件被正确创建并显示在事件列表(另一个部分视图)中。唯一的问题是函数调用 OnBegin。

请解释我做错了什么,我是否错过了包含某些内容或其他内容?

真的谢谢你。

网页配置

模型:

_Layout.cshtml:

样式表

其他几个页面上需要 datetimepicker 插件的 jQueries

其他应用程序组件的 jQuery 查询

用于验证的 jQuery

索引.cshtml

_Create.cshtml

0 投票
2 回答
1820 浏览

asp.net - 为什么我的验证会在 MVC3 中发布之前的 get 请求上触发?

我有一个 MVC3 视图,使用户能够创建几个不同的东西。在父视图中,执行此操作的表单通过 jquery ui 选项卡进行分解,如下所示:

在部分视图中,我有:

带有输入字段,提交按钮等。这似乎运作良好:它呈现所有内容并发布到正确的控制器操作方法。

但是我现在正在验证中,我遇到了一个问题。

在控制器中,它正在渲染视图,如下所示:

我有一个单独的 post 方法,如下所示:

样品型号:

问题是,当页面第一次出现时,模型中通过 DataAnnotations 标记为 [Required] 的字段显示为红色,并且验证摘要在页面最初显示时显示它们无效。IE 它的行为就像在用户在初始加载时输入任何内容甚至在文本框中输入任何内容之前就已经发布了一样。

我知道第一个非帖子 CreateNewThing 正在触发,因为我可以在调试器中捕获它,并且我知道第二个在初始加载时没有。

什么会导致我的验证在 Get 上触发?

是由于 Html.Action 的工作方式以及我将部分视图渲染到另一个视图的事实吗?

我在 web.config 中使用 UnobtrusiveJavaScriptEnabled 和 ClientValidationEnabled = true。

我找不到遇到这个特殊问题的其他人。其他所有示例似乎都有效,然后我再次找不到将视图分为三个部分的示例,其中包含在 jquery ui 选项卡中。

我该如何解决?
选项:我是否需要手动操作 Model.IsValid 作为解决方法?使用不同的机制在父视图而不是 Html.Action 上呈现部分视图?使用一些 javascript/jquery 来捕获验证并停止它?

0 投票
1 回答
708 浏览

ajax - 带有 Ajax 部分视图的 MVC3 - 创建成功时如何显示“成功”警报?

我有一个“高级搜索”视图。过滤器配置是一个 ajax 部分视图,搜索结果列表是另一个。在过滤器配置部分视图中,我有一个“搜索”按钮和一个“保存您的搜索过滤器”提交按钮。如果过滤器已保存在数据库中,我想显示“保存成功”的警报,否则根本没有警报,因为任何错误都会显示在专用区域中。

这是我到目前为止所拥有的:

高级搜索.cshtml

_Filters.cshtml

我想要一个函数来调用“OnSuccess”而不是“ExecuteSearch”函数,如下所示:

但是在这种形式中,即使“验证”区域中显示错误,也会显示警报。如何表示显示警报的条件?