2

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

4

2 回答 2

2

带有<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 并几乎可以控制一切(这也意味着您需要知道如何控制“一切”)。

于 2012-05-22T14:03:55.750 回答
0

在 ASP.NET 页面中使用 HTML 标记没有任何问题,当然,只要您runat="server"在它们上使用。我喜欢两者都用,取决于它是什么。我认为使用 HTML 标记的好处意味着您对 HTML 更加熟悉,并且不依赖于 ASP.NET 语法。

另一方面,在某些情况下,实际编写所有 HTML 以复制控件将是一项非常费力的任务。像一个DataGrid包含所有事件的复杂的东西对于编写纯 HTML/JavaScript 来说绝对是一场噩梦。在这种情况下,使用 ASP.NET 控件和语法使其更快、更清晰。

于 2012-05-22T08:35:47.933 回答