将Web请求转换为C#代码的最简单方法是什么?

时间:2010-11-24 08:51:22

标签: asp.net

所以...我有一个ASP.NET应用程序。我们假设我将IIS配置为始终指向同一文件index.aspx。假设我想在C#中编写所有我的代码,然后返回我在C#中生成的一些HTML。我该怎么做?

我是否只有1行代码,

<%@ Page CodeBehind="mycode.cs"

是否有必要拥有这样一个“无用的”文件?我无法将请求直接导入代码隐藏?

其次,关于代码隐藏的一些好的教程在哪里?具体来说,我看到这个Page_Load事件,我想自动被调用?

  • 还有其他活动吗?这些是什么?
  • 另外,我如何访问POST数据或请求URL等内容?
  • 我如何返回HTML回复?还是404?

我看到很多关于“内联”ASP的教程,但我并不关心。

2 个答案:

答案 0 :(得分:1)

听起来你想要一个通用的处理程序。它们在New Item ...对话框中可用。这将为您提供一个.ashx文件,您可以在其中处理传入的Web请求,就像您在场景中一样,但是更清洁。使用这些可以返回任何类型的HTTP响应,包括HTTP错误。您可以完全访问POST数据,URL参数,cookie等的HTTP上下文。查看更多here

另一种选择是自己实现IHttpHandler,尽管使用通用处理程序,通过这项工作没有多大意义。

答案 1 :(得分:1)

  

还有其他活动吗?它们是什么?

从System.Web.UI.Page继承时,有很多事件可用。你可以看到它们http://msdn.microsoft.com/en-us/library/ms178472.aspx

  

另外,我如何访问POST数据或请求URL等内容?

this.Request.Form,可以让你从一个页面访问PostData。 this.Request.Url会让你访问网址。

  

我如何返回HTML回复?还是404?

您可以覆盖页面的Render方法以提供HTML Response。您可以抛出HttpException(404,“找不到文件”)以返回404。

在完成您的问题之后,您很可能需要ASP.NET MVC而不是ASP.NET webforms,或者您可以使用Martin建议的处理程序