asp.net - 为什么我们不在 ASP.NET 页面中使用 html 标签控件

标签 asp.net .net

我正在尝试使用 asp.net 。让我惊讶的一件事是,在我们的设计代码中,我们没有使用通用 <html> , <body>等等,但我们使用了 <asp:content> , <asp:button>等等。我试图找出原因,但最后却发现了抽象的 msdn 页面。所以请帮我解决这个问题

最佳答案

带有 <asp:... 的标签标签前缀意味着它们是“服务器端控件”,这意味着:

  • 您的程序可以在服务器端(事件、参数等)通过客户端脚本(例如 JavaScript)访问它们

  • 当您实际运行网站时,它们将被“呈现”(运行时输出/“翻译为”)为标准 HTML 标记

举个例子,当您构建网页时,标签 <asp:textbox runat="server" id=foo...将输出为 <input type="text" id="foo当您在浏览器中运行 ASP.net 应用程序时。

您可以创建一个简单的网页,在浏览器中运行它,然后 VIEW SOURCE看看这个“翻译”的作用。

因此,当您开发/设计 Web 应用程序时,ASP.Net 将为您提供他们所谓的“控件”(例如按钮控件、标签控件等)。它们将在运行时全部被转换为标准 HTML 标签/元素。

以上涉及名为 "Web Forms" 的 ASP.Net 技术.

您可以从它开始 - 它更容易编程。当您变得更高级和/或更喜欢执行更多“裸机”标准 HTTP POST/GET 时,您可以查看 ASP.Net MVC/Razor - 这种 ASP.Net 架构将允许您使用标准 HTML 并几乎控制一切(这也意味着您需要知道如何控制“一切”)。

关于asp.net - 为什么我们不在 ASP.NET 页面中使用 html 标签控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698328/

相关文章:

c# - SSRS 报告中的超链接表达式将参数传递给 ASP.NET 应用程序

.net - 如何将嵌入式 PowerShell 运行空间公开给远程处理

c# - MySQL 6 与 Enterprise Library Data 5 的连接

c# - 创建后删除文件

c# - 找不到 xml 路径错误

.NET:如何在 BeginInvoke 回调期间与表单对话?

.net - 你如何启用 "Enable .NET Framework source stepping"?

c# - 解析电子邮件地址字符串的最佳方法

c# - 在特定位置禁用 HttpModule

c# - 如何声明事件处理程序以传递 FxCop 规则,尤其是包含 sender 和 e 的规则?