纯C#网站

问题描述 投票:0回答:9

我想学习如何用C#制作一个网站。我了解 PHP,但我更喜欢 C# 语言。我曾尝试学习如何在 ASP.NET 中制作一个网站,但到目前为止这确实让我感到沮丧,因为我真的根本不喜欢 ASP(甚至不如我喜欢 PHP)。它让我完全疯狂,以至于我很难强迫自己学习它。有没有一种方法可以立即将控制权从 ASP 转移到 C#,然后从 C# 执行所有操作,包括在必要时输出 HTML 和其他内容,就像在 PHP 中一样?换句话说,我喜欢 PHP 的网站编程方式,但更喜欢 C# 语言。任何帮助将不胜感激。

c# php asp.net
9个回答
11
投票

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

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

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


6
投票

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

查看 MSDN 关于使用 HttpHandlers 的介绍。如果您还有任何疑问,请发表评论。

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

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


4
投票

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

请注意,我强烈建议不要使用任何这些方法,这只是您问题的答案;)


2
投票

您还可以使用通用处理程序 (.ashx)。 这些为您提供了一个 httpcontext,并且完全取决于您如何使用它。


2
投票

“我真的一点也不喜欢 ASP(甚至不如我喜欢 PHP)”,然后是“我喜欢 PHP 方式”。听起来你很难与旧事物决裂,并且变得有些矛盾。

从经典的asp到asp.net我也有同样的感觉,而传统的asp.net网站仍然给我带来很多悲伤。当您习惯了更细粒度的控制时,您可能很难理解更“框架”的做事方式。正如之前所说,尝试一下 asp.net MVC。在我看来,它提供了正确的平衡,对我来说是继 Asp.net 之后的一股新鲜空气。


2
投票

您可以使用相当纯粹的 C# 在 ASP.net 中完成大部分操作。早期,我严重依赖 ASP.net 控件,通过拖放大部分页面以及到处的小代码片段来使控件执行我想要的操作。我真的不喜欢它,它让我认为 ASP.net 编码与 C# 编程完全不同(好吧,当时是 vb - 别评判我!)。

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

我确实发现一些 ASP.net 特定控件很有用,而且我确实时常使用它们。然而,我确实发现改变我组合代码的方式让我对这门语言有了完全不同的想法。


1
投票

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


1
投票

这不是一个特别好的选择,但如果您想走简单的路线,您可以将 C# 与 CGI 结合使用。


0
投票

老实说,如果您还没有这样做,只需安装 Visual Studio(您应该获得 2022 版本),当您第一次安装它时,它附带了所有 ASP.NET 的东西。只需访问 Visual Studio 的网站(不是 VISUAL STUDIO 代码,只是 Visual Studio)获取 Visual Studio,然后选择 asp.net Web 开发包并从那里继续,有很多我认为非常好的样板代码,它是也非常非常容易。我希望这有帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.