问题标签 [child-actions]

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 回答
4889 浏览

forms - 包含表单的 ASP.NET MVC3 Html.Action

我的页面上有一个包含表单的 pod。

我以与以下类似的方式使用了这个 pod:

在处理表单发布的 Pod 的 HttpPost 操作中有一些业务规则检查。如果此业务规则失败,我会在模型状态中添加一个错误。

问题是,当业务规则无法验证时。我从 pod 操作返回一个 View,它仅在空白页面上显示 pod。

我怎样才能正确地重用这样的表单并且仍然对该业务规则进行服务器端验证(需要数据库命中来验证)?

0 投票
1 回答
4106 浏览

forms - ASP.NET MVC3:页面上有 2 个表单,提交触发错误的表单

我在同一页面上有 2 个表格。一种是局部视图中的表单,它通过我们称之为 PodForm 的子操作呈现。第二个由当前动作呈现。

所以我的代码看起来有点像这样(请忽略名称等,这是示例代码):

表单.cshtml

PodForm.cshtml

当我在主窗体上单击提交时,会触发 PodForm 操作方法。这是怎么回事?

编辑 - 根据评论中的要求

  1. 生成的标记类似于以下内容。

    /li>
  2. 控制器动作

    “MainController”(不是实际名称)有一个名为“Form”的动作

    “PodController”(不是实际名称)有一个名为“PodForm”的动作。HttpPost 不返回 View 的原因是从子操作中执行此操作仅返回部分视图 - 而不是我想要的。

    /li>

更新:我发现调用了第一个操作方法但是因为它返回 View() 视图引擎将 PodForm 操作方法作为 Post 而不是作为触发提交逻辑的 Get 调用。奇怪的。

0 投票
1 回答
130 浏览

asp.net-mvc - 跨应用程序使用的部分视图的逻辑

如何将跨应用程序使用的 PartialView 与子操作关联?例如,PartialView 可能是页面顶部的登录栏,它需要有一些关联的逻辑(加载模型等),我通常会将其放入 ChildAction 中。但是,我不知道将使用什么控制器。我想我可以使用 ChildAction 创建一个基本 Controller 类,然后从中继承,但我希望会有一个更优雅的解决方案。

0 投票
1 回答
3502 浏览

asp.net-mvc-3 - 如何判断我的操作是否被 RenderAction 调用?

我有一个可能通过普通链接调用的操作,在这种情况下我会返回一个 View(),或者它也可以通过 AJAX 或 RenderAction(即作为子操作)调用,在这种情况下我会返回部分视图()。

整理 AJAX 部分很容易 - 但我如何测试我的操作是否被呈现为子操作?

理想情况下,我希望能够编写这样的代码:

显然 Request.IsChildAction() 不存在 - 有没有类似的东西,或者我只需要创建一个始终返回 PartialView 的特殊 ChildAction?

0 投票
2 回答
892 浏览

asp.net-mvc - 以我的子操作方法的方式进行 MVC3 模型绑定

我正在使用 MVC3 并尝试利用子操作功能@Html.Action(),因此我有以下视图

这将调用以下方法

此时模型绑定炸弹告诉我它无法创建抽象类......

“/”应用程序中的服务器错误。无法创建抽象类。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.MissingMethodException:无法创建抽象类。

如何让模型绑定器不碍事 - 我已经为动作提供了必要的模型......?

0 投票
2 回答
31857 浏览

asp.net-mvc-3 - 子操作是否与其“父”操作共享相同的 ViewBag?

我对此感到困惑:我有一个动作,比如 Parent ,并且在相应的视图文件中,我调用了一个子动作,比如 Child ,Parent 和 Child 动作都在同一个控制器中。

我需要 Child 动作和 Parent 动作来共享 ViewBag 中的一些数据。现在,我应该做什么?这是我的问题:

当我在父视图文件中调用 Child 操作时,我将 viewbag 传递给它,如下所示:@Html.Action(ViewBag)。在我的孩子行动中,我这样做:

这是正确的方法吗?viewbag 对象是通过引用传递还是与原始 viewbag 不同的对象(需要更多内存)?

或者如果默认情况下子操作与其调用父操作共享视图包?

从 Darin Dimitrov 的回答中,我知道我不能做这样的事情:@Html.Action(ViewBag)

但是我真的需要传递子动作多参数,我该怎么办?

0 投票
1 回答
1574 浏览

asp.net-mvc - 将数据发布回 ASP.NET MVC 子操作

由于我们可以从主视图 + 部分视图组成单个视图(例如,使用 RenderAction,指定子控制器),在主视图呈现输入时,子操作呈现的输入是否可以定向到子控制器被定向到主视图控制器?起初,将数据发布到两个操作方法似乎很奇怪,但它完全符合使用局部视图的复合性质。

这是可能的还是可行的?

0 投票
0 回答
495 浏览

asp.net-mvc-3 - 将数据传递给子操作的视图

我有多个视图调用相同的子操作,它呈现一个视图。
根据哪个视图调用子操作,我想在 childview 中显示不同的消息。但是由于我在子动作的控制器方法中不需要这个视图,所以我觉得将它作为控制器参数传递并不是一个很好的解决方案。

我尝试了ViewData,但它不起作用 - 它被清空了
我当前使用的子呼叫TempData,它有效但不是很好,因为它没有真正的理由使用会话

除了这三个还有别的选择吗?
(它也应该在 MVC2 中工作,拜托)

0 投票
1 回答
4527 浏览

asp.net-mvc-3 - MVC3 为什么我会收到“不允许子操作执行重定向操作”错误?

我有一个动作列表

在它看来,我们渲染动作:

动作定义:

我得到:每次有人提交表单时,子操作都不允许执行重定向操作异常。我是 MVC3 的新手,但看起来重定向也是一个 POST,因为如果未注释 List 方法上面的 [HttpGet],则会发生“找不到资源”。

如何更改重定向时的 Http 方法或我做错了什么?我确实尝试过 Bing 它,但没有成功。

0 投票
3 回答
6710 浏览

asp.net-mvc - ASP .Net MVC 3:子动作和重定向

我需要在主页上显示注册表单和登录表。

如果这两种形式的验证失败,我需要在主页上显示正确的错误。

但如果没有错误,则必须将用户重定向到受保护的仪表板。

为此,我child action在主页上使用如下:

如果有任何错误,它可以按预期完美工作,因为它能够re-render与具有信息partial view的正确方法一起使用。modelvalidation state

但是如果没有错误,当它尝试重定向时,它会抛出一个错误,指出:

有没有办法解决?我确信有一种方法可以将注册和登录表单放在主页上。很可能我不知道,因为我对 ASP .Net MVC 很陌生。

你能在这里指出我正确的方向吗?