当用户点击一个按钮,我需要在服务器上创建一个.bmp文件。创建.bmp文件后,我会将其加载到html页面中。 Ajax会是完成这一任务的最佳方式吗?执行服务器端代码没有完整的回发
回答
如果你不想要一个完整的帖子回来,是的。
简答:是的。
ajax将是最好的方式来做到这一点。首先查看jquery文档。它不是一件简单的事情,也不适合张贴片段来说明。你将不得不在这里适应几个可能的新概念。
http://docs.jquery.com/Main_Page
这里的直接链接到jQuery的AJAX文档。
http://api.jquery.com/category/ajax/
如果你从来没有做过的jQuery,它有点怪异,但绝对值得花习惯的时间。
,如果你想提供这样的一个有用的功能,那么你应该去阿贾克斯如果没有那么一回发是OK
是AJAX是最好的方式。它可以通过ASP.NET's AJAX mechanisms,jQuery itself或您的另一个选择。
如果您只是生成一个图像以返回浏览器,那么请使用打火机HTTP handler(.ashx),而不是为它调用ASP.NET页面(.aspx)生命周期。这是一个example on the server-side。 (通过继承从一些类像DefaultHttpHandler或实施IHttpHandler代替Page类的HTTP处理程序的工作)
附加样品和说明有关AJAX通讯:
- 如果你选择一个ASPX页面来生成你的图像,然后在page methods上使用WebMethod attributes来促进与它们的AJAX通信;或者使用WebMethod属性来执行相同的显式.ASMX Web Service。
或 - ASP.NET AJAX and HTTP Handlers
- 你可以拿起例如许多tidbits from Stackoverflow,你don't need an ASPX or ASHX page,只是继承了IHttpHandler和web.config httphandler settings代替原料类,使其工作。
要调试这种东西它是非常有用的HTTP监控程序像Fiddler提防带外的HTTP请求和响应。
您不必使用Ajax。您可以将页面设置为AutoEventWireUp =“false”并手动处理所有事件。在Button上点击并瞧瞧Page_Load事件。
单面注意。你真的需要输出一个BMP文件在HTML中显示吗?
如果您必须以serer方式存储它,也许您还可以保存JPG“缩略图”并输出该格式,因此BMP非常重并且未经压缩。无论何时您决定使用AJAX或正常回发,速度都会更快。
正如其他人所说,AJAX是最好的方法,因为响应会比返回完整页面小得多(只是内容)。
另外为了调试,除了Fiddler,我喜欢用Firefox Firebug,它是一款出色的网页开发工具。
- 1. FMS服务器端代码没有执行
- 2. 服务器代码执行
- 3. 发送邮件没有服务器端代码
- 4. 是否有可能在执行客户端代码之前执行服务器端代码在ASP.Net
- 5. 基于时间范围执行的服务器端代码
- 6. Pushnotification服务器端执行
- 7. coundown服务器端执行
- 8. 使用jQuery和没有服务器端代码调整裁剪后的图像
- 9. 服务器端代码
- 10. 在服务器端没有触发onclick
- 11. Windows服务正在运行但没有执行代码
- 12. 对没有支持可执行后端的服务器的JavaScript/jQuery回调
- 13. 代码未执行完整脚本
- 14. 没有共享代码库的客户端 - 服务器
- 15. 发布数据服务器端并在提交表单时执行javascript代码
- 16. 服务器端ASP.net代码导致从jQueryUI模式对话框中完整回发
- 17. 有没有办法确保在.NET线程中执行完整的代码块?
- 18. socket.io - 服务器上的回调函数emit()没有执行
- 19. 在服务器端调用服务器端代码
- 20. php代码没有执行?
- 21. AJAX代码没有执行
- 22. 代码块没有执行
- 23. Ajax代码没有执行
- 24. 测试没有运行服务器的nodejs服务器代码
- 25. 任务完成后JavaFX执行代码
- 26. 源代码html没有完整下载
- 27. Git服务器端挂钩有时不会在服务器端执行?
- 28. 只需点击一下执行客户端和服务器端代码?
- 29. 服务器端代码执行后,从asp.net代码中调用javascript函数执行
- 30. 用于upload.php的服务器端代码
'“如果你从未做过jQuery,它有点怪异'' - 只有当你不熟悉CSS或JavaScript时 – STW 2010-06-08 21:30:15