执行服务器端代码而不进行完全回发

时间:2010-06-08 21:03:21

标签: c# asp.net javascript ajax

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

6 个答案:

答案 0 :(得分:4)

是的,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请求和响应非常有用。

答案 1 :(得分:2)

简短回答:是的。

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

http://docs.jquery.com/Main_Page

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

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

如果你从未做过jQuery,它有点奇怪,但绝对值得花时间习惯。

答案 2 :(得分:1)

一方面注意。你真的需要输出一个BMP文件来在HTML中显示它吗?

BMP很重且没有压缩,如果你必须将它存储在那个格式的serer端,也许你也可以保存JPG“缩略图”并输出它。无论何时你决定使用AJAX或普通的回发,它都会快得多。

正如其他人所说,AJAX是最好的方法,因为响应会比返回整页更小(只是内容)。

另外,对于调试,除了Fiddler,我喜欢使用Firefox Firebug,它是一个出色的Web开发工具。

答案 3 :(得分:0)

如果您不想要完整的帖子,是的。

答案 4 :(得分:0)

如果你想提供一个有用的功能,那么你应该去Ajax,如果没有,那么回发就行了

答案 5 :(得分:0)

您不必使用Ajax。您可以将页面设置为AutoEventWireUp =“false”并手动处理所有事件。绕过Button上的Page_Load事件并点击瞧。