【问题标题】:Execute server side code without full postback在没有完整回发的情况下执行服务器端代码
【发布时间】:2011-03-01 09:15:41
【问题描述】:

当用户单击按钮时,我需要在服务器上创建一个 .bmp 文件。创建 .bmp 文件后,我会将其加载到 html 页面中。 Ajax 是实现这一目标的最佳方式吗?

【问题讨论】:

    标签: c# asp.net javascript ajax


    【解决方案1】:

    一个旁注。你真的需要输出一个 BMP 文件以在 HTML 中显示吗?

    BMP 非常重且未压缩,如果您必须以服务器端的格式存储它,也许您还可以保存一个 JPG“缩略图”并输出它。每当您决定使用 AJAX 或普通回发时,它都会快得多。

    正如其他人所说,AJAX 是最好的方法,因为响应将比返回整个页面小得多(仅内容)。

    也用于调试,除了Fiddler我喜欢用火狐Firebug,它是一个优秀的web开发工具。

    【讨论】:

      【解决方案2】:

      是的,AJAX 是最好的方式。可以通过ASP.NET's AJAX mechanismsjQuery itself 或您选择的其他方式完成。

      如果您只是生成图像以返回到浏览器,则不要为其调用 ASP.NET 页面 (.aspx) 生命周期,而是使用较轻的 HTTP handler (.ashx)。这是example on the server-side

      (HTTP 处理程序通过从 DefaultHttpHandler 之类的类继承您的类或实现 IHttpHandler 而不是 Page 类来工作。)

      关于 AJAX 通信的其他示例和说明:

      调试这类东西,使用像 Fiddler 这样的 HTTP 监控实用程序来观察带外 HTTP 请求和响应非常有用。

      【讨论】:

        【解决方案3】:

        您不必使用 Ajax。您可以将页面设置为 AutoEventWireUp="false" 并手动处理所有事件。绕过按钮单击时的 Page_Load 事件,瞧。

        【讨论】:

          【解决方案4】:

          如果你想在这方面提供有用的功能,那么你应该使用 Ajax,如果没有,那么回发就可以了

          【讨论】:

            【解决方案5】:

            简短回答:是的。

            ajax 是最好的方法。查看 jquery 文档开始。它并不是那么简单的事情,也不适合发布一个sn-p来说明。您将不得不熟悉这里的几个可能的新概念。

            http://docs.jquery.com/Main_Page

            这里是 jQuery 的 ajax 文档的直接链接。

            http://api.jquery.com/category/ajax/

            如果您从未使用过 jQuery,那会有点奇怪,但绝对值得花时间去习惯。

            【讨论】:

            • '"如果你从未使用过 jQuery,那会有点奇怪"' -- 仅当你不熟悉 CSS 或 JavaScript 时
            【解决方案6】:

            如果您不想回复完整的帖子,可以。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2011-12-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-12-03
              • 2020-07-29
              • 2010-11-17
              相关资源
              最近更新 更多