纯C#网站

时间:2009-09-11 21:26:30

标签: c# php asp.net

我想学习如何使用C#建立一个网站。我知道PHP,但我更喜欢C#语言。我试过学习如何在ASP.NET中创建一个网站,到目前为止我真的很沮丧,因为我真的不喜欢ASP(甚至比我喜欢的PHP还要少)。关于它的一些事情让我完全疯了,以至于我很难强迫自己学习它。有没有办法立即将控制从ASP转移到C#,然后从C#做所有事情,包括在必要时输出HTML和其他东西,就像在PHP中一样?换句话说,我喜欢PHP的网站编程方式,但更喜欢C#语言。任何帮助将不胜感激。

8 个答案:

答案 0 :(得分:11)

看一下asp.net mvc:http://www.asp.net/mvc/

它比asp.net webforms更接近金属,如果你来自PHP背景,应该感觉更舒服。

这里有很多很好的教程:http://www.asp.net/Learn/mvc/

答案 1 :(得分:6)

是的,您可以使用HttpHanders处理您的所有请求。 HttpHandler是一个可以直接接收请求并使用代码处理所有请求的类。它通常用于捕获图像请求,并为数据库提供服务,但您当然可以使用它来执行您想要的操作。

查看MSDN introduction to using HttpHandlers。如果您对此有任何疑问,请发表评论。

ASP.NET MVC是另一种选择,但默认情况下仍然使用ASPX标记。您可能会找到另外一个您更喜欢的视图引擎。不过,我对此一无所知。 (编辑 - 感谢Joel!

编辑:请记住,在使用HttpHandlers时,您在技术上仍处于ASP.NET项目中,但这只是为了让您可以运行请求/响应/服务器上下文/ etc框架。您仍然可以使用C#代码100%工作。

答案 2 :(得分:4)

只是不要使用任何服务器端控件,将代码直接放在ASPX文件中(在<%和%>之间),它应该感觉就像PHP(或经典的ASP)......你可以也可以使用HttpHandler,但在这种情况下,您将失去编写内联HTML的能力;你必须使用Response.Write输出所有标记,这不太方便......

请注意,我强烈反对任何这些方法,这只是您问题的答案;)

答案 3 :(得分:2)

您还可以使用通用处理程序(.ashx)。这些为您提供了httpcontext,完全取决于您使用它做什么。

答案 4 :(得分:2)

“我真的不喜欢ASP(甚至比我更喜欢PHP)”接着是“我喜欢PHP的方式”。听起来你在与旧的打破时遇到了麻烦,并且变得有些矛盾。

我觉得从经典的asp到asp.net也是如此,传统的asp.net网站仍然给我带来很多悲伤。当你习惯于更细粒度的控制时,很难让你的头脑更加“框架式”做事。如前所述,试试asp.net MVC。 IMO它提供了适当的平衡,对我来说,是在Asp.net之后呼吸新鲜空气。

答案 5 :(得分:2)

你可以使用相当纯粹的C#在ASP.net中做大部分事情。在早期,我非常依赖于ASP.net控件,拖放大部分页面,只需要一小段代码就可以实现我想要的控制。我真的不喜欢它,它让我想到将ASP.net编码为与C#编程完全不同的东西(好吧它当时是vb-不要判断我!)。

现在几乎所有的代码和html生成都由各种自定义类处理。我的代码隐藏页面只是将页面特定的输入和事件连接到我的utillity类。同样地,我使用内联代码进行输出 - 我只是在后面的代码上调用一个函数,它收集必要的变量并让我的类完成繁重的工作。

我肯定发现一些ASP.net特定控件很有用,我会不时使用它们。但是,我确实发现改变我将代码放在一起的方式让我对语言有了完全不同的看法。

答案 6 :(得分:1)

ASP.NET MVC可能是一个不错的选择:www.asp.net/mvc

答案 7 :(得分:1)

这不是一个特别好的选择,但如果你想走简单的路线,你可以使用C#和CGI