从 ASP 的 Ajax.ActionLink 获取 JsonResult

2024-04-24

如何使用 Ajax.ActionLink 从控制器方法实际获取 JSON?我尝试搜索该网站,但我得到的最接近的是返回 JSON 或部分 html 的 ASP.NET MVC 控制器操作 https://stackoverflow.com/questions/227624/asp-net-mvc-controller-actions-that-return-json-or-partial-html

而且“最佳答案”实际上并没有告诉您如何从 ajax.actionlink 中的 SomeActionMethod 获取 JSON。


我个人不喜欢Ajax.*帮手。在 ASP.NET MVC data-*完全多余的属性(例如锚点的 url)。此外,它们不会自动解析成功回调中的 JSON 对象,这就是您的问题所在。

我用的是普通的Html.*帮助者,像这样:

@Html.ActionLink(
    "click me",           // linkText
    "SomeAction",         // action
    "SomeController",     // controller
    null,                 // routeValues
    new { id = "mylink" } // htmlAttributes
)

这显然会产生normal HTML:

<a href="/SomeController/SomeAction" id="mylink">click me</a>

我在单独的 javascript 文件中不引人注目地进行 AJAXify:

$(function() {
    $('#mylink').click(function() {
        $.post(this.href, function(json) {
            // TODO: Do something with the JSON object 
            // returned the your controller action
            alert(json.someProperty);
        });
        return false;
    });
});

假设控制器执行以下操作:

[HttpPost]
public ActionResult SomeAction()
{
    return Json(new { someProperty = "Hello World" });
}

UPDATE:

根据评论部分的要求,这里是如何使用Ajax.*助手(我再次重复一遍,这只是如何实现这一点的说明,绝对不是我推荐的东西,请参阅我推荐的解决方案的最初答案):

@Ajax.ActionLink(
    "click me", 
    "SomeAction",
    "SomeController",
    new AjaxOptions { 
        HttpMethod = "POST", 
        OnSuccess = "success" 
    }
)

并在成功回调中:

function success(data) {
    var json = $.parseJSON(data.responseText);
    alert(json.someProperty);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 ASP 的 Ajax.ActionLink 获取 JsonResult 的相关文章

  • 将 C# 参数传递给 JS

    我有一个 C MVC 项目 我想每隔 X 秒刷新一次页面 我将代码放入cshtml文件中 但我需要从 C 中获取 X 假设它是 ViewBag Seconds 我怎样才能做到这一点 Razor 不关心它是输出 HTML 还是 javascr
  • 在 MVC 中使用 DI 时的大量控制器构造函数参数列表

    我正在开发 ASP NET MVC3 解决方案 该解决方案使用 autofac 的依赖注入 我们的控制器由 autofac 正确创建 所有必需的对象都正确传入 这些对象通常包括服务 存储库和将域对象转换为 MVC 视图 模型的映射器 所以控
  • 如何选择性地呈现 ASP.Net MVC 3 中的某个部分?

    在我的网站上 我有一个部分 浮动侧边栏 我只想为一部分用户 管理员 呈现该部分 我希望我可以将逻辑放入主布局中 以确定是否应显示该部分 但如果未呈现该部分 则会导致页面上出现错误 示例代码 Layout cshtml code if use
  • 使用 UpdatePanel 的 ASP.NET AJAX

    从概念上讲 我对 AJAX 的理解是异步发送到服务器的请求 也称为并行 当我使用多个UpdatePanels在页面上并触发多个异步回发 例如通过使用按钮 我注意到第二个请求在第一个请求完成之前才开始 但是当我使用 JQuery ajax 并
  • 在 C# 中使用逗号和小数格式化数字

    我需要显示一个带有逗号和小数点的数字 例如 情况 1 十进制数是 432324 没有逗号或小数点 需要将其显示为 432 324 00 不 432 324 情况 2 十进制数是 2222222 22 没有逗号 需要将其显示为 2 222 2
  • ASP.NET MVC - 路由 - 具有文件扩展名的操作

    有没有办法实现调用URLhttp mywebsite myarea mycontroller myaction xml这基本上是 假 请求文件 但结果将是一个为动态创建的文件提供服务的操作操作 我试过这个 context MapRoute
  • 自定义 ViewEngine ASP.NET MVC 3

    我正在为 ASP NET MVC 的自定义视图引擎寻找最简单的解决方案 这样我就可以超越路径来寻找视图 实际上 我正在尝试在我的解决方案中构建一个主题系统 我查看了网络 但发现了很难学习和实施的解决方案 Thanks 这就是我用的 它在主题
  • Razor 视图中的内联 If

    在我的控制器中 我有内联 If 语句 ViewBag NameSortParam If String IsNullOrEmpty sortOrder Name desc 在我看来 如果出现以下情况 我似乎无法使用内联 Code If Tru
  • 在Application_Start中访问ninject内核

    我正在使用 Ninject 和随 nuget 安装的 MVC3 扩展 我的内核设置代码位于 App Start NinjectMVC3 cs 文件中 控制器中的一切都运行良好 但我无法弄清楚如何 正确 绑定 Global asax cs M
  • 返回没有属性名称的 Json 结果

    很可能是一个相当微不足道的问题 但我就是找不到合适的答案 我想返回一个 JsonResult 但实际结果没有任何属性名称 这是我想要实现的一个小例子 xbox Xbox 360 Xbox cheats Xbox 360 games The
  • ASP.NET MVC - 授权属性登录重定向后保留 POST 数据

    我有一个带有评论的博客文章页面 任何用户 无论是否登录 都可以在页面底部看到一个表单来发表评论 当用户输入评论且未获得授权时 用户将被重定向到登录 注册页面 登录后 用户将被重定向回操作 但包含评论正文的 POST 数据会丢失 我使用 AS
  • 如何将动态数据写入 MVC 3 Razor 中的页面布局?

    我有带有 Razor 引擎的 MVC 3 C 项目 将动态数据写入 Layout cshtml 的方法和最佳实践是什么 例如 也许我想在网站的右上角显示用户名 该名称来自会话 数据库或基于用户登录的任何内容 更新 我也在寻找将某些数据渲染到
  • asp.net mvc - Ajax 刷新视图的每个元素

    希望在退出 jquery 对话框后使用 ajax 刷新当前页面 我有一个包含 foreach 循环的视图 数据是从模型中提取的 每个循环有 2 个编辑 删除按钮 当我单击 编辑按钮 时 将打开一个 jquery UI 对话框进行编辑 当我保
  • Unity IoC 和 MVC 3 Beta - 将 IRepository 传递给控制器​​构造函数

    MVC 3 中有什么变化吗 我已经尝试了互联网上所有将 Unity 设置为我的 IoC 容器的示例 但我不断收到错误消息 指出 Unity 无法解析我的 UserController 这是我的 UserController 上的构造函数 p
  • Ajax.BeginForm 无法与 Html.ValidationSummary 一起使用

    我正在尝试使用 Ajax BeginForm 将数据发布到控制器 如果出现特定错误 表单应重新呈现并显示添加到 ModelState 的自定义错误消息 由于某种原因 错误消息未显示 我什至正在尝试以下不起作用的测试用例 我是否遗漏了什么 E
  • 用于 mvc3 日期格式和日期验证的文本框

    我决定开始使用 MVC 3 并且在尝试将我的一个 Web 应用程序重做为 MVC3 时遇到了这个问题 我的项目是这样设置的 public class Project public int ProjectID get set Required
  • 目标中的 clr.dll 版本与构建的 mscordacwks.dll 版本不匹配

    我正在使用 NET Framework 4 0 开发 ASP NET MVC 3 应用程序 当我去调试我的应用程序时 我收到消息 无法附加到应用程序 webdev webserver 目标中的 clr dll 版本与构建 mcordacwk
  • ASP.NET MVC 3,如何正确制作主题

    我正在寻找有关如何以最佳方式在 MVC 3 中实现 主题 的输入 我想需要一个自定义视图引擎来负责定位视图文件等 我还希望主题系统是可扩展的 这样 如果它只是其中一个视图 我想更改其他视图 但仍使用默认值 有点像 Orchard 项目吗 想
  • 如何在 DropDownList 中保留空格 - ASP.net MVC Razor 视图

    我在视图中通过以下方式绑定我的模型 问题是我的项目文本是格式化文本 单词之间有空格 如下所示 123 First 234 00 123 AnotherItem 234 00 123 Second 234 00 我想保留此项目文本中的空格 即
  • If else 在 Web 网格列中

    如何在 webgrid 列中添加条件 if else grid GetHtml tableStyle table table bordered columns grid Columns grid Column RealName Name g

随机推荐

  • 如何使用 go 1.5+ 创建静态链接的 golang 可执行文件

    golang 版本 1 5 怎么样 谷歌搜索没有为我的搜索词返回任何有用的结果 有人对如何生成可以在基本 rkt 来自 CoreOS 容器内执行的静态链接二进制文件有任何建议吗 my go go version go version go1
  • Numpy 数组被舍入?小浮点数的减法

    我将 numpy 数组的元素分配为等于 小 值的 python 浮点类型数字的减法 当我这样做并尝试通过打印到命令行来验证结果时 数组被报告为全零 这是我的代码 import numpy as np np set printoptions
  • 电话管理器值可靠且可变(cdma)吗?

    我想知道我的应用程序是否可以依赖 Android 上的电话值 例如国家 地区 MCC 等 我可以使用 setprop 在运行时更改它们吗 我尝试使用 setprop 进行更改 但似乎不起作用 据我了解 电话管理器是一个类 接口 代表 GSM
  • PHP-OOP 扩展两个类?

    我是 OOP 的初学者 现在我正在尝试编写一些 PHP 类来连接 FTP 服务器 class ftpConnect private server private user private password private connectio
  • Gem-idea:当 HTTP 方法发布、放置或删除时,在 before_filter 中使用验证码自动垃圾邮件防护

    我正在考虑为 Rails 编写一个自动垃圾邮件防护系统 也许我会编写一个公共 gem 我的想法是在 application controller 中包含一个辅助方法 class ApplicationController lt Action
  • Google 翻译 API V2 的速率限制是多少?

    我非常频繁地使用 Google 翻译 API V2 在大约 2000 个请求之后 我开始在返回的 JSON 中得到以下内容 Array error gt Array errors gt Array 0 gt Array domain gt
  • 如果收到警告 Converting to string: TypedValue, 如何识别代码错误的地方?

    以下是 LogCat 的摘录 04 04 19 51 51 270 INFO ActivityManager 57 Starting activity Intent cmp com example app Preferences 04 04
  • 如何让 XAML 中的图像显示为实际大小?

    我有一个27 x 27我在 WPF 中显示的像素图像 但它显示larger比大小window 如何让它显示实际尺寸 替代文本 http www deviantsart com upload m20dk6 png http www devia
  • PHP XSS 预防白名单

    我的网站使用所见即所得编辑器 供用户更新帐户 输入评论和发送私人消息 编辑器 CKEditor 非常适合只允许用户输入有效的输入 但我担心通过 TamperData 或其他方式注入 我如何在服务器端控制这个 我需要将特定标签列入白名单 b
  • 将专用 NV12 视频帧转换为 RGB

    我有一个使用 Android MediaCodec 解码的 H264 流 当我查询输出 MediaFormat 时 颜色格式为 2141391875 显然 这是一种专门的 NV12 变体 称为 HAL PIXEL FORMAT NV12 A
  • 旧的 Top Coder 谜语:通过插入 + 来生成数字

    我正在考虑 给定一串数字 找到该字符串等于某个目标数字所需的最少加法次数 每次添加都相当于在数字字符串中的某处插入一个加号 插入所有加号后 照常计算总和 例如 考虑 303 和目标总和为 6 最佳策略是 3 03 我会用蛮力解决它 如下所示
  • 一个 Node.js 集群可以在 64 位 Wintel PC 上生成多少个子进程?

    我正在运行并发测试 为了简洁起见 为每个欺骗的 http 请求定义了一个进程 对于最多 64 个请求 进程 它工作得很好 但在 65 个请求 进程上就折叠起来了 我在一台 I5 笔记本电脑上运行 Window 7 64 位 具有 4GB R
  • 在 Excel 中通过宏向表添加列时设置列标题

    因此 我正在研究这个宏 它根据表中的其他列自动将列添加到表中 所以这是功能 我在此表中有许多标题为 CY 2010 CY 2020 的列 这些年将不可避免地发生变化 然后我想为每个 CY 列在表中添加一列 此外 我希望这些列的标题与年份相匹
  • 如何检查已触摸对象的 ID (iOS)

    在我的视图中 我有一个包含一堆不同点的数组 然后我通过循环运行该数组以在视图中创建一堆不同的正方形 您还可以看到我尝试使用辅助功能标识符来创建类似 ID 的系统 这可能是一个非常糟糕的做法 但我没有主意了哈哈 这是视图 import Lev
  • MongoDB聚合,按值区间分组,

    MongoDB 文档 id 123213 elevation 2300 area 25 id 343221 elevation 1600 area 35 id 545322 elevation 500 area 12 id 234234 e
  • 查找重复邮寄地址的策略

    我正在尝试想出一种根据相似度分数查找重复地址的方法 考虑这些重复的地址 addr 1 3 FAIRMONT LINK SOUTH addr 2 3 FAIRMONT LINK S addr 3 5703 48TH AVE adrr 4 57
  • 将标头添加到 WCF RequestSecurityToken 消息

    我正在尝试设置将使用 WSHttpBinding 进行通信的客户端 Web 应用程序 和服务 WCF 服务 看来 为了使用此绑定 客户端会发送初步消息来设置通道 客户端和服务之间存在一条服务总线 该总线在自定义标头上进行路由 当使用 Bas
  • 为什么 Glass 缺少 Google Play 服务?

    谷歌眼镜上不包含谷歌播放服务的原因是什么 将来会添加它们吗 看来将来还会在 Glass 上添加 Google Play 服务 有一个问题已被 接受 尽管具有中等优先级 请参阅来自谷歌眼镜官方发行网站
  • 如何从 node_modules 延迟加载外部模块?

    我们可以像这个模块一样延迟加载本地模块 path somePpath loadChildren app path some module SomeModule 我们如何延迟加载来自驻留在node modules中的外部库的模块 要在路由器模
  • 从 ASP 的 Ajax.ActionLink 获取 JsonResult

    如何使用 Ajax ActionLink 从控制器方法实际获取 JSON 我尝试搜索该网站 但我得到的最接近的是返回 JSON 或部分 html 的 ASP NET MVC 控制器操作 https stackoverflow com que