问题标签 [renderaction]

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

asp.net-mvc-2 - 将内容访问逻辑放在 BaseController 中是个好主意吗?

我正在开发一个 ASP.NET MVC 应用程序,其中任何页面的内容都可以从数据库中提取(如果存在)并显示在页面上。

这是为了使非技术人员能够编辑内容而无需进入源代码(例如视图)并进行更改。

我这样做的方式是,每个控制器都派生自一个基本控制器。基本控制器重载“OnActionExecuted”并借此机会提取分配给当前动作/控制器的任何内容。

如果操作返回派生自“ContentViewModel”的 ViewModel,它会使用数据库中的文本填充 ViewModel 的“Text”属性。

然后文本由视图呈现。

你能看出这个设计有什么弱点吗?

如果我有用于提取内容的 HtmlHelper 扩展而不是基本控制器,那会更好吗?我从视图中调用它?

我问这个的一个原因是,拥有我自己的基本控制器似乎会干扰调用“Html.RenderAction”,这似乎期望指定的控制器直接从“System.Web.Mvc.Controller”继承。

0 投票
2 回答
1653 浏览

redirect - 在 RenderAction 调用之间维护 ViewData

我正在我网站的每个页面上使用 Html.RenderAction 呈现一个常见的登录表单。

如果用户在文本框中输入他们的详细信息并单击“提交”,它会向处理登录的控制器发出 POST。

如果他们犯了错误,例如输入了无效的电子邮件地址,它将在 ModelState 中填充错误消息,然后重定向回他们之前所在的任何页面。

问题是,因为 RenderAction 作为单独的请求发生,我丢失了 ViewModel。

即使我将它放入 TempData 它也会丢失,因为 TempData 在每个单独的请求中都会被刷新。

有没有办法在连续的 Html.RenderAction 调用之间保存数据?

如果没有,关于我如何破解这个的任何建议?(应该把数据放在Session中?)

0 投票
2 回答
3314 浏览

c# - 创建控制器基类(部分)

由于我的@html.render操作使我的开发和生产服务器崩溃,我必须使用partials(crap)

我尝试创建public partial controller{}类,这样我就可以为我的所有视图设置所需的数据,但我没有运气(一切都中断了)。

我来自 LAMP cakePHP 背景,真的需要简单。

我需要知道如何创建部分基本控制器(不覆盖常规基本控制器)以及如何从类中访问多个模型。

谢谢!

0 投票
2 回答
1652 浏览

jquery - 带有树模式的 ASP.NET MVC

我正在准备一个 ASP.NET MVC 应用程序的骨架,其中包含这些产品中包含的产品和部件的基本 CRUD 功能。应用程序包含几个基于 MasterPage 的强类型视图,现在我想添加一个小部件来显示菜单树。此菜单树将反映产品/部件结构,因此它与主窗口中显示的内容相关。

我搜索了论坛,发现了不同的树渲染方式,并在应用程序中包含了新的小部件:

  • jquery.treeview - 提供漂亮的树,但我如何在我的应用程序中使用(构建、渲染、传递给视图)它?
  • RenderPartial、RenderAction 等 - 似乎很清楚,所以我打算使用 RenderAction 方法将我的小部件包含在母版页中,但是如何构建/渲染要显示的树?
  • 扩展 HtmlHelper 以创建一个新的 Html.RenderTree 方法(很好的例子: http: //www.matthidinger.com/archive/2009/02/08/asp.net-mvc-recursive-treeview-helper.aspx

可能我应该合并一些已找到示例的片段,但由于我是 ASP.NET MVC 技术的新手,因此我不确定在这种情况下的最佳模式。

任何帮助(建议、模式、指出好例子等)将不胜感激。

谢谢迪克
_

0 投票
1 回答
341 浏览

asp.net-mvc - RenderAction - 在不影响父母的情况下使用它

如果我在视图具有 Html.BeginForm() 且没有参数的操作方法上调用 RenderAction,我的表单操作将遵循父 url。

如果我添加任何参数(路由值、操作等),表单操作属性将替换为 MyChildContorller 的控制器名称和操作。

如何在不影响父 url 的情况下使用 RenderAction?

0 投票
1 回答
980 浏览

asp.net-mvc - 使用 RenderAction() 并回发到子控制器动作

RenderAction()我有父视图,它也使用(返回 a )呈现子控制器操作PartialView。一个示例是带有登录部分视图的首页(输入:用户名、密码、记住和操作:登录

执行过程

  1. GET for Home/Index- 还显示我的登录控件,其登录指向子控制器User/Login
  2. 用户输入凭据并单击登录
  3. POST for User/Login- 检查凭据并返回???

问题

如何从子控制器操作返回父视图User/Login
我的子控制器的部分视图可以呈现任何页面,所以我不能轻易返回父控制器操作的结果,例如:

那么我应该如何处理我的子控制器动作及其部分视图呢?

编辑

我可以使用父路由的附加数据发回我的子控制器操作,但我也在我的子控制器操作中填充数据。在我的示例中,我必须显示某人的凭据无效。重定向会丢失这些...

0 投票
1 回答
1099 浏览

asp.net-mvc - ASP.Net 2.0 和新的 RenderAction 方法

我最近刚刚将我的 ASP.Net MVC 项目从 MVC 2.0 Preview 2 迁移到 MVC 2.0 Beta,我对 Html.RenderAction 的调用中断了,因为在 MVC 2.0 Beta 中引入了一个新的 RenderAction 方法。

在以下行中:

我收到以下错误:

编译器错误消息:CS0121:以下方法或属性之间的调用不明确:

'System.Web.Mvc.Html.ChildActionExtensions.RenderAction(System.Web.Mvc.HtmlHelper,字符串,字符串,对象)'和'Microsoft.Web.Mvc.ViewExtensions.RenderAction(System.Web.Mvc.HtmlHelper,字符串,字符串,对象)'

我可以通过用以下两种替代方法中的任何一种替换该行来解决问题:

或者

我应该使用两者中的哪一个,有什么区别?另外,有没有什么方法可以解决问题而不像我以前那样写整个命名空间?

先感谢您。

0 投票
1 回答
944 浏览

asp.net-mvc - 单个视图中的多个 Http.RenderAction()

众所周知RenderAction(),它属于:

  • Asp.net MVC 1 期货或
  • Asp.net MVC 2 测试版 2

并允许我们在另一个视图或部分视图中呈现动作结果。

描述

  1. RenderAction()您有一个使用帮助器显示多个局部视图的视图。
  2. 至少两个部分视图<form>可能通过使用Html.BeginForm()该回发到原始视图来呈现。
  3. 回发不是通过 Ajax 调用执行的
  4. 回发数据在表单 POST 上进行验证。

问题

当其中一种形式被回发时,另一种形式呈现为invalid

有没有人使用过这个模式并解决了它?我们应该以某种方式知道哪个form执行了回发,并且只有那个人应该验证它的 POST 数据。其他人应该忽略验证或执行常规HttpVerb.Get操作处理。

0 投票
2 回答
852 浏览

model-view-controller - ASP.NET MVC 2 beta 异步 RenderAction

背景:

http://www.hanselman.com/blog/HanselminutesPodcast188ASPNETMVC2BetaWithPhilHaack.aspx

从 27:15 开始,RenderAction 已经在 28:43 讨论过,RenderAction 不会作为异步操作方法调用的异步操作方法的一部分。

(假设您的主门户索引操作调用 1.GetNews 2.GetWeather 3.GetStock 异步。您有一个 RenderAction 在同一视图上显示用户最近的帖子。(GetUserRecentPosts))

问题

如果 RenderActions 本身是异步的呢?

GetUserRecentPosts 只有在 home 索引完成其操作后才会被调用吗?

默认情况下,RenderActions 是否应该在视图上异步呈现?

0 投票
2 回答
720 浏览

asp.net-mvc - SparkViewEngine、RenderAction 和带有 ASP MVC 2 Beta 的区域?

我刚刚在使用 MVC 2 Beta 的 Spark 的 AreaDescriptionFilter 上遇到了麻烦。

以下行来自我的 Application.spark 文件。它会导致视图引擎查看视图的所有可能位置——“Shell”区域的文件夹除外。

# Html.RenderAction("ShowMainMenu", "Navigation", new { area = "Shell" });

使用 运行相同的操作可以http://localhost/Shell/Navigation/ShowMainMenu正常执行并按预期识别该区域的视图目录。

任何想法如何解决这一问题?