问题标签 [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.
asp.net-mvc-2 - 将内容访问逻辑放在 BaseController 中是个好主意吗?
我正在开发一个 ASP.NET MVC 应用程序,其中任何页面的内容都可以从数据库中提取(如果存在)并显示在页面上。
这是为了使非技术人员能够编辑内容而无需进入源代码(例如视图)并进行更改。
我这样做的方式是,每个控制器都派生自一个基本控制器。基本控制器重载“OnActionExecuted”并借此机会提取分配给当前动作/控制器的任何内容。
如果操作返回派生自“ContentViewModel”的 ViewModel,它会使用数据库中的文本填充 ViewModel 的“Text”属性。
然后文本由视图呈现。
你能看出这个设计有什么弱点吗?
如果我有用于提取内容的 HtmlHelper 扩展而不是基本控制器,那会更好吗?我从视图中调用它?
我问这个的一个原因是,拥有我自己的基本控制器似乎会干扰调用“Html.RenderAction”,这似乎期望指定的控制器直接从“System.Web.Mvc.Controller”继承。
redirect - 在 RenderAction 调用之间维护 ViewData
我正在我网站的每个页面上使用 Html.RenderAction 呈现一个常见的登录表单。
如果用户在文本框中输入他们的详细信息并单击“提交”,它会向处理登录的控制器发出 POST。
如果他们犯了错误,例如输入了无效的电子邮件地址,它将在 ModelState 中填充错误消息,然后重定向回他们之前所在的任何页面。
问题是,因为 RenderAction 作为单独的请求发生,我丢失了 ViewModel。
即使我将它放入 TempData 它也会丢失,因为 TempData 在每个单独的请求中都会被刷新。
有没有办法在连续的 Html.RenderAction 调用之间保存数据?
如果没有,关于我如何破解这个的任何建议?(应该把数据放在Session中?)
c# - 创建控制器基类(部分)
由于我的@html.render
操作使我的开发和生产服务器崩溃,我必须使用partials(crap)。
我尝试创建public partial controller{}
类,这样我就可以为我的所有视图设置所需的数据,但我没有运气(一切都中断了)。
我来自 LAMP cakePHP 背景,真的需要简单。
我需要知道如何创建部分基本控制器(不覆盖常规基本控制器)以及如何从类中访问多个模型。
谢谢!
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 技术的新手,因此我不确定在这种情况下的最佳模式。
任何帮助(建议、模式、指出好例子等)将不胜感激。
谢谢迪克
_
asp.net-mvc - RenderAction - 在不影响父母的情况下使用它
如果我在视图具有 Html.BeginForm() 且没有参数的操作方法上调用 RenderAction,我的表单操作将遵循父 url。
如果我添加任何参数(路由值、操作等),表单操作属性将替换为 MyChildContorller 的控制器名称和操作。
如何在不影响父 url 的情况下使用 RenderAction?
asp.net-mvc - 使用 RenderAction() 并回发到子控制器动作
RenderAction()
我有父视图,它也使用(返回 a )呈现子控制器操作PartialView
。一个示例是带有登录部分视图的首页(输入:用户名、密码、记住和操作:登录)
执行过程
- GET for
Home/Index
- 还显示我的登录控件,其登录指向子控制器User/Login
- 用户输入凭据并单击登录
- POST for
User/Login
- 检查凭据并返回???
问题
如何从子控制器操作返回父视图User/Login
?
我的子控制器的部分视图可以呈现任何页面,所以我不能轻易返回父控制器操作的结果,例如:
那么我应该如何处理我的子控制器动作及其部分视图呢?
编辑
我可以使用父路由的附加数据发回我的子控制器操作,但我也在我的子控制器操作中填充数据。在我的示例中,我必须显示某人的凭据无效。重定向会丢失这些...
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,字符串,字符串,对象)'
我可以通过用以下两种替代方法中的任何一种替换该行来解决问题:
或者
我应该使用两者中的哪一个,有什么区别?另外,有没有什么方法可以解决问题而不像我以前那样写整个命名空间?
先感谢您。
asp.net-mvc - 单个视图中的多个 Http.RenderAction()
众所周知RenderAction()
,它属于:
- Asp.net MVC 1 期货或
- Asp.net MVC 2 测试版 2
并允许我们在另一个视图或部分视图中呈现动作结果。
描述
RenderAction()
您有一个使用帮助器显示多个局部视图的视图。- 至少两个部分视图
<form>
可能通过使用Html.BeginForm()
该回发到原始视图来呈现。 - 回发不是通过 Ajax 调用执行的
- 回发数据在表单 POST 上进行验证。
问题
当其中一种形式被回发时,另一种形式呈现为invalid。
有没有人使用过这个模式并解决了它?我们应该以某种方式知道哪个form
执行了回发,并且只有那个人应该验证它的 POST 数据。其他人应该忽略验证或执行常规HttpVerb.Get
操作处理。
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 是否应该在视图上异步呈现?
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
正常执行并按预期识别该区域的视图目录。
任何想法如何解决这一问题?