问题标签 [actionmethod]
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.
c# - 这是一个“黑客”吗?如果是,有没有更好的方法来确定要返回哪个 ActionResult?
我在每一页上都有一个 A - Z 目录“小部件”。如果用户在主页上并且他们单击目录中的某些内容,我想加载目录页面并加载相应的结果。但是,如果用户在目录页面上并且他们点击了某些东西,我想异步加载结果而不进行页面刷新。
目录小部件具有指向 GroupController 上的 DirectoryResult 操作方法的链接,如果它们位于目录页面上,通常会返回 PartialView。但是如果它们不在目录页面上,我会重定向到主目录操作方法,该方法返回一个视图并加载整个页面。
这是有问题的代码:
我把这个给办公室里的一个人看,他的第一反应是“那是个黑客!”。我不知道是否同意他的观点,因为我不知道有什么更好的方法来做到这一点。
作为参考,这是每个页面上存在的小部件的定义:
有没有更好的方法让我根据请求来自的页面来确定我应该返回 PartialView 还是 View ?
silverlight - 如何将我自己的输出用于 Action 方法
如何在 MVC 中将自己的输出类型用于操作方法?
我知道这是可能的(就像他们在 MVC Contrib 中所做的那样),但是如何?!
我正在尝试将 Silverlight 用作 MVC 视图。
asp.net-mvc - 保持控制器精简(操作方法太多)
我正在处理我的第一个真正的 ASP.NET MVC 项目,我注意到我一直在使用的控制器变得相当大。这似乎违背了保持控制器纤薄的最佳实践。
我做得很好,将业务逻辑排除在控制器之外。我为此使用了一个单独的图层。每个动作主要调用业务层中的一个方法,并根据模型状态是否有效来协调最终结果。
也就是说,控制器有大量的动作方法。直观地说,我想将控制器分解为子控制器,但我没有看到一个简单的方法来做到这一点。我可以简单地将控制器分解为单独的控制器,但我松散了层次结构,感觉有点脏。
有必要重构一个包含大量瘦动作的控制器吗?如果是这样,最好的方法是什么?
asp.net-mvc - ASP.NET MVC:对操作强制执行 AJAX 请求
我正在寻找一种方法来强制仅通过 AJAX 请求访问控制器的操作。
在调用操作方法之前执行此操作的最佳方法是什么?我想从我的操作方法中重构以下内容:
我的设想是ActionMethodSelectorAttribute
可以像[AcceptVerbs]
属性一样使用。不过,我没有创建这样一个自定义属性的经验。
asp.net-mvc - ASP.NET MVC:如何将 ActionResult 转换为字符串?
我想采用现有的操作方法,将其返回值呈现为字符串并将其作为 JSON 发送以响应 AJAX 请求。
为此,我需要将 ActionResult 呈现为字符串。我该怎么做呢?
相反,我们可以使用 this.Content() 将字符串转换为 ActionResult。
更新
现有的第一个操作方法返回一个 ActionResult 类型,但它实际上返回一个 ViewResult 以响应 HTTP 发布请求。我有第二个动作方法(我的外观),它返回一个响应 AJAX 请求的 JsonResult。我希望这个第二个动作方法使用第一个动作方法来呈现 HTML。
在总体方案中,我想要一个 ActionResult(从一个操作方法生成)不仅可以通过标准 HTTP 发布,还可以通过 AJAX 请求通过外观操作方法(第二个操作方法)进行检索。这样,作为开发人员,我可以选择使用 HTTP Post 或 AJAX 来检索页面的呈现。
抱歉,我试图使此更新尽可能短。谢谢。
asp.net-mvc - .NET MVC:如何在辅助方法中重定向响应
我有一些代码对于我的一些控制器操作很常见,这些操作被提取到一个私有的“帮助器”方法中,只是为了合并。该方法有望为我“获取”一个对象,尽管它会执行一些健全性/安全性检查,并且可能会将用户重定向到其他操作。
这可以正常运行,但 Elmah 然后通知我异常:
所以,我的问题是:有没有更正确的方法来做我想做的事情?本质上,我想要的只是使当前操作停止处理,而是返回一个 RedirectToRouteResult。
asp.net-mvc - 在 ASP.NET MVC 中调用 @Html.Action(...) 时如何指定命名空间
当我尝试Html.Action
在 ASP.NET MVC 3 中使用与当前控制器不同的命名空间中的控制器时,我收到一个错误:
代码:
错误 :
找不到路径“/rrmvc/store/checkout”的控制器或未实现 IController。
仅当控制器与当前控制器位于不同的 NAMESPACE 中时才会发生此错误,ApplicationController
例如StoreControllers.CheckoutController
(实际上它们也位于完全不同的区域中)。
调用时是否无法指定名称空间Html.Action
(完全限定名称空间之类的明显方法似乎都不起作用)?
没有可供使用的 lambda 方法,而且我在 MVC3 RTM 中使用时运气不佳。Html.RenderAction
编辑:我认为这可能与该地区有关 - 或者这也可能是一个完整的红鲱鱼。我在不同的命名空间中有另一个控制器可以正常工作 - 所以我认为问题更复杂。如果我弄清楚了,我会回答 - 或者如果不是为了避免混淆,就删除这个问题!
asp.net-mvc-2 - 如何在控制器中编写动作方法来引用局部视图?
我在 ReservationController 类中编写了一个操作方法。要使此代码正常工作,我应该将 GetCoreTab 文件移动到 Reservation 文件夹。我不想这样做,因为我在 ReservationController 类中给出了 GetCoreTab 文件的路径。我想给出路径,以便 GetCoreTab 方法的代码可以在 Reservation 控制器类中工作。
结构:
代码:
HTML:
有任何想法吗?
谢谢
asp.net - 需要帮助设计 ASP.NET MVC 操作方法
我刚刚开始学习 ASP.NET MVC 3。我一直在浏览 ASP.NET 网站上的音乐商店示例,并开始开发自己的网站,但我在理解我的方式时遇到了一些麻烦应该设置我的控制器操作方法。
在我的网站上,每个登录的用户都可以在他们的项目上执行标准的 CRUD 操作。我已经将其设置为类似于 Music Store 示例,并在 ProjectController 上使用以下操作方法。到目前为止,这对我来说很有意义。
此外,用户将能够向每个项目添加项目。项目不能单独存在,必须在创建时与项目相关联。我难以理解的是如何传递对应该在其中创建项目的项目的引用。例如,在我的项目控制器中,我有一对类似于上述控制器的 Create() 操作方法。
但是我不明白第一个 Create() 方法如何传递对应该在其中创建新 Item 的项目的引用,因为 View() 辅助方法只能接受一个对象参数。我应该只将项目的引用添加到 ViewBag 的属性中吗?我也是动态类型的新手,此时 ViewBag 对我来说似乎很神奇。所以我有点犹豫要不要使用它。我也一直认为强类型设计更好。那么我是否应该创建一个单独的“NewItemData”模型对象,其中包含对新项目的引用以及它被添加到的项目?
一旦表单知道它正在向哪个项目添加项目,它应该如何在提交时将这些信息传回?表单中是否应该有一个隐藏的“ProjectID”字段?还是应该将表单 POST 返回到查询字符串中带有项目 ID 的 URL?
最后,我还希望能够列出添加到每个项目中的项目。这应该是 ItemController 还是 ProjectController 的一部分。为简单起见,我坚持使用默认的 Controller\Action[ID] URL 路由。下面列出了我的一些想法。我倾向于最后一个选项,但真的很想听听其他有更多经验的人的想法。
asp.net-mvc-2 - MVC 2 中的模棱两可的动作方法
我在 MVC 2 中遇到了一些模棱两可的操作方法的问题。我尝试实现此处找到的解决方案:ASP.NET MVC 模棱两可的操作方法,但这只是给了我一个“找不到资源”错误,因为它认为我'正在尝试调用我不想调用的操作方法。我使用的 RequiredRequestValueAttribute 类与另一个问题的解决方案中的类完全相同:
我的操作方法是:
现在,我正在尝试使用该int id
版本,而是调用该string title
版本。