如何在标准 Web 表单 .Net 中返回 JSON 对象

2023-12-25

目标是调用一个执行该操作的方法,然后返回一个 JSON 对象。

我是 JSON 新手。

我有一个default.aspx,其中包含以下代码。现在我想要 Default.aspx.cs 中的普通方法在此处的单击事件上运行。

$(".day").click(function (event) {
var day = $(event.currentTarget).attr('id');
if (day != "") {
    $.ajax(
    {
        type: "POST",
        async: true,
        url: 'Default.aspx?day=' + day,
        data: day,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            console.log("SUCCESS:" + msg);
            //  $(".stripp img").attr('src', "data:image/jpg;" + msg);
            //  $(".stripp").show();
        },
        error: function (msg) {
            console.log("error:" + msg);
        }
    });
}

});

Default.aspx.cs 看起来与此类似:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["day"] != null)
            GetFile(Request.QueryString["day"]);
    }
    public string GetFile(string day)
    {
        string json = "";
        byte[] bytes = getByteArray();

        json = JsonConvert.SerializeObject(bytes);
        return json;
    }

我这里哪里出错了? 我应该以某种方式使用它还是它只适用于 Web 服务?

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]

我建议一个HttpHandler。没有页面生命周期(因此速度非常快),代码分离更加清晰,并且具有可重用性。

将一个新项目添加到“通用​​处理程序”类型的项目中。这将创建一个新的 .ashx 文件。任何实现类的主要方法IHttpHandler is ProcessRequest。因此,要使用原始问题中的代码:

public void ProcessRequest (HttpContext context) {

    if(String.IsNullOrEmpty(context.Request["day"]))
    {
        context.Response.End(); 
    }

    string json = "";
    byte[] bytes = getByteArray();

    json = JsonConvert.SerializeObject(bytes);
    context.Response.ContentType = "text/json";
    context.Response.Write(json);
}

更改 AJAX 调用中的 url 就可以了。 JavaScript 看起来像这样,其中获取文件处理程序.ashx是您刚刚创建的 IHttpHandler 的名称:

$.ajax(
    {
        type: "POST",
        async: true,
        url: 'Handlers/GetFileHandler.ashx',
        data: "Day=" + $.toJSON(day),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            console.log("SUCCESS:" + msg);
        },
        error: function (msg) {
            console.log("error:" + msg);
        }
    });

另一个需要考虑的小问题是,如果您需要从 Handler 代码本身访问 Session 对象,请确保继承自IRequiresSessionState界面:

public class GetFileHandler : IHttpHandler, IRequiresSessionState
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在标准 Web 表单 .Net 中返回 JSON 对象 的相关文章

  • 使用 jquery .find() 获取子项

    我有以下标记 div div class item div class item box div class one div div div div class item div class item box div class one d
  • 更改 yii 中注册脚本文件的顺序

    我正在为 Yii 应用程序制作一个小部件 主布局视图注册了所有常见的脚本文件 例如 jQuery 和 jQueryUI 在我的小部件中 我想使用依赖于已加载的 jQueryUI 的 jQueryUI 插件 我知道我可以指定脚本包含在页面上的
  • jQuery - 如何从 div > p 获取文本

    如何从 div 类中获取主题名称 div class subject img src image eng jpg p English p div div class subject img src image bio jpg p Biolo
  • jQuery Datatable:分页和过滤器显示不正确

    我不知道如何解决这个问题 尝试了一整天但没有成功修复分页 我正在使用 jQuery 数据表 并且为了显示我的大量数据 我正在使用服务器端 作为测试 仅调用表中的 10 行数据 然后在传递到表之前 我重组了里面的数据dataSrc 使用这个解
  • GeneratePasswordResetTokenAsync 和GenerateUserTokenAsync 的默认TokenLifespan 是多少

    我到处都找过 但似乎无法确定每个选项的默认值是什么 我还需要知道是否有办法为每个设置不同的寿命 谢谢 对于任何令牌来说 默认值显然都是 24 小时 您可以将其设置为不同的值 但相同的值将同等地应用于所有令牌 GenerateEmailCon
  • jquery ui 自动完成与委托

    我已经根据文档设置了 JQuery UI 自动完成功能 它适用于渲染到页面的 class tag item 的任何输入 然而 用户可以通过 JS 将输入添加到 dom 中 因此我需要一种使用委托将自动完成绑定到新的动态创建的输入的方法 我不
  • ASP.net C#,采用不同参数类型的同名方法[重复]

    这个问题在这里已经有答案了 可能的重复 可以在 ASP Net MVC 中重载控制器方法吗 https stackoverflow com questions 436866 can you overload controller metho
  • 使用 jquery 远程图像属性

    目前我正在尝试获取远程图像宽度 高度 我正在开发一个链接共享模块 就像当你在 Facebook 上粘贴链接时 你可以看到标题 描述和图像 所以我尝试使用 php getimagesize 来获取图像宽度 高度 但速度非常慢 所以我正在考虑使
  • 谷歌地图初始化无法使用选项卡

    我正在尝试在选项卡单击事件上初始化 Google 地图 因为目前我得到的地图如下 My Code function render map This function will render a Google Map onto the sel
  • 无法将 MVC 4 部署到服务器

    我的 Web 应用程序只是一个用 VS 2010 MVC 4 制作的简单 Web 应用程序 没有任何外部代码 它只是 VS 2010 的默认应用程序 我有 Plesk 的豪华 Windows 托管 我从未更改过帐户中的任何功能 我将所有文件
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • 按搜索值过滤元素 - 多个单词

    我有一个由 DIV 和 INPUT 搜索框组成的列表
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • Javascript split 不是一个函数

    嘿朋友们 我正在使用 javascript sdk 通过 jQuery facebook 多朋友选择器在用户朋友墙上发布信息 但是我收到此错误friendId split 不是函数 这是我的代码 function recommendToFr
  • 使用输入类型 = 文件捕获照片时移动 safari 崩溃

    我正在使用输入类型文件在 iOS 中启动相机 我正在使用以下代码行
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • 如何在 Python 中追加到 JSON 文件?

    我有一个 JSON 文件 其中包含 67790 1 kwh 319 4 现在我创建一个字典a dict我需要将其附加到 JSON 文件中 我尝试了这段代码 with open DATA FILENAME a as f json obj js
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va

随机推荐

  • 从资源设置应用程序图标时应用程序大小会增加

    我有一个大小为 16kb 的应用程序 通过 项目属性 菜单添加图标资源后 应用程序的大小如预期增加到 299kb 现在 在 属性 应用程序 下 当我将图标文件设置为 Resource IconName ico 时 文件大小再次增加到 581
  • 带有临时链接的提交按钮

    好的 我不知道我在做什么 我要回去帮助人们找工作 我在 Fiddle 中运行了所有内容 并将其迁移到两个不同的编辑器 一切都显示正常 但没有任何反应 没有警报 没有单击提交 我在我的笔记本电脑上尝试了一下 显示了两个页面 一个页面上有 pr
  • D3 - 重置 SVG 对象动画

    我正在用交互式标记制作一个图表 每个标记都沿着侧轴开始 单击时会移动到沿线的位置并增大尺寸 我让图标移动和增长 但在重置图表时遇到问题 我可以通过第二次单击使图标返回到其原始位置 但是第二次单击后图标将不再响应单击 我怀疑这很简单 但我没有
  • 防止 git checkout 覆盖文件

    另一位开发人员将他的 rvmrc 检查到了 git 存储库中 我已经删除了它并将其添加到 gitignore 但每次需要返回时它都会覆盖我的 rvmrc 我使用的是 OSX 所以我发现我可以使用 OSX 文件锁定机制 获取信息中的 锁定 复
  • 如何在数据库中保存标签(关键字)?

    我想使用 php 和 mysql 创建一个简单的标签系统 以便用户可以通过表单添加一些标签 我的问题是我应该将标签保存为单个数据库列中的数组吗 例如 tag1 tag2 tag3 或者我应该在数据库表中有单独的列 我应该在每列中保存每个标签
  • PowerShell 按嵌套字段选择和分组

    我有以下对象结构 resources Array resource PSCustomObject 名称 字符串 Tags PSCustomObject 所有者 字符串 more 所以我可以做 resources 0 Tags Owner并获
  • 在 iOS 中使用 AVCapture 捕获视频时进行缩放

    我正在使用 AVCapture 捕获视频并保存它 但我需要提供缩放选项 例如捏合缩放或通过缩放按钮 此外 视频的保存方式应与显示的方式完全相同 我的意思是当放大时 应以缩放的方式保存 如有任何帮助 链接将不胜感激 我设置 AVCapture
  • perl 正则表达式中的 OR 条件

    我正在尝试编写一个脚本 通过 Perl 中的正则表达式执行 OR 函数 我编写了一段代码 其中如果字符串包含 D 或 E 后跟 P 则应该打印 D或E后跟P 否则 D或E后不跟P 假设如果我给出 s ABCDEABCDEPABCDEAB 它
  • SameSite Cookie 标头和 Websocket 不起作用

    在我们设置 SameSite None 之前 我们的游戏无法在任何第 3 方网站上运行 正如这段视频中所示 https youtu be AYCvCrZyDk https youtu be AYCvCrZyDk 网站已加载 但网络套接字无法
  • OCaml 中的惰性“n 选择 k”

    作为枚举集合的更大问题的一部分 我需要编写一个 OCaml 函数 choose 它接受一个列表并输出为由该列表的元素组成的所有可能的大小为 k 的序列的列表 不重复序列 这可以可以通过排列相互获得 它们在最终列表中的顺序无关 例如 choo
  • 如何在reactjs中使用formData添加多个图像

    我是 Reactjs 新手 我正在使用环回存储连接器来存储图像 文件 现在我的问题是使用上传多个文件formData my code constructor props super props this state car photo Ca
  • 按项目分组时,测试显示在测试资源管理器的“外部”类别下

    Whenever I try to run tests on Test Explorer from Visual Studio 2012 SOME test are being categorized as External even th
  • 在两个数字和一个稀有数字之间生成随机数

    我可以使用这个在c中生成两个数字之间的随机数 arc4random high low 1 low 那么现在我的要求是 我想让一个数字变得稀有 这意味着如果 高 5 低 1 稀有 3 比 3 出现的次数比 1 2 4 和 5 少得多 Than
  • #1062 - 密钥 1 的重复条目“1” - 未找到重复条目

    因此 当尝试向字段添加自动增量时 会出现 1062 Duplicate entry 1 for key 1 我尝试删除主键并重新添加它 效果很好 我认为如果有重复项就不会 但是当我尝试向该字段添加自动增量时 它会抛出错误 它为我提供了一个运
  • 在bash脚本中使用Linux命令的正确方法

    就其路径而言 在 bash 脚本中使用 Linux 命令的最佳和最正确的方法是什么 仅使用正确吗ip addr show 依赖于 shell 路径 PATH https pubs opengroup org onlinepubs 96999
  • glMultiDrawIndirect 和 DrawElementsIndirectCommands 不渲染所有对象

    我似乎正在使用glMultiDraw间接 MDI 和 或绘制元素间接命令 DEIC 不正确 因为我无法正确渲染所有对象 该方法尝试对相似的对象和纹理重用绘制命令 实例化 ish 在所有位置绘制所有对象 调试 方法仅对每个对象 两个三角形 使
  • Javascript提示并提醒输入一个数字,它会循环,你将输入数字以获得它的平均值

    我有下面带有循环的 javascript 代码 但我无法得到它的平均值 我不确定我的代码有什么问题 就像第一个提示你输入一个数字 它会循环 你输入数字 比如你输入了多少 你会得到所有数字的总和 完成后得到它的平均值 这是我的代码 函数 sh
  • 使用 nginx、letsencrypt 和 uwsgi 配置时无法获得安全连接

    我正在努力解决无法通过安全连接获取 Flask 应用程序的问题 每当我打开网站时 都会看到一个黄色感叹号 表示我的连接不安全 我看过所有教程 但似乎不明白为什么会发生这种情况 有人可以帮助我吗 下面是配置 UWSGI命令 screen uw
  • 如何处理使用Android MediaRecorder录制的文件

    我正在使用 Android 网站上的以下示例进行音频录制 http developer android com guide topics media audio capture html http developer android com
  • 如何在标准 Web 表单 .Net 中返回 JSON 对象

    目标是调用一个执行该操作的方法 然后返回一个 JSON 对象 我是 JSON 新手 我有一个default aspx 其中包含以下代码 现在我想要 Default aspx cs 中的普通方法在此处的单击事件上运行 day click fu