4

我试图理解htmlasp.net

看来(如果我错了,请纠正!)我在我的 web 项目的 aspx 页面上编写的代码并不都是 html。相反,当用户从他们的 url 发出 html 请求时,它们是由某些“ASP.Net”编译器运行的代码(因此,感谢runat server“编译器”理解非 html 标签,例如<asp)。然后——“编译器”使用此代码动态创建一个 html 页面。例如 – 这会将 a 转换Buttoninput.

这是真的?如果是这样,那么,什么是用户控件?

4

3 回答 3

4

ASP.NET 具有服务器端控件(例如按钮、超链接、网格视图等)。这些都生成可由 C#/VB.NET 代码处理的服务器端事件 (Button1_OnClick)。

<asp:Button ID="btnCopyText" runat="server" /> // Calls the server side btnCopyText code

public void btnCopyText_Click(object sender, EventArgs e) {

}  

HTML 有它自己的控件,由客户端的浏览器(客户端)呈现。

 <button onclick="copyText()">Copy Text</button> // Calls the copyText() function (Client Side)

ASP.NET 按钮在服务器端呈现,然后作为标准 HTML 按钮(如上所示)传递给客户端。

自定义用户控件是由程序员创建的 ASP.NET 服务器端控件,它可能包含多个 ASP.NET 服务器端控件,例如一个 GridView 和一个按钮)。例如,当单击按钮时,它会重新加载 GridView 中的数据。这为 ASP.NET 开发人员提供了一种方法来编写一个自定义控件并在需要时重用它,而不是编写样板代码(重复相同的代码)。

http://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx

于 2012-06-13T10:17:06.583 回答
2

是的,所有 asp.net 控件都呈现为 html,但 runat server 告诉它是一个服务器控件。

用户控件是一种复合控件,其工作方式与 ASP.NET 网页非常相似——您可以将现有的 Web 服务器控件和标记添加到用户控件,并为控件定义属性和方法。然后,您可以将它们嵌入到 ASP.NET 网页中,它们在其中充当一个单元

于 2012-06-13T10:19:16.283 回答
1

asp.net 是一种编程工具,可帮助您快速轻松地生成 html 代码,最终目标是完整的 html 页面,其中包含需要显示的所有其余组件,例如脚本、图像、ajax 调用等。

用户控件,就像一个也呈现 html 的对象,但您可以在许多不同的页面或同一页面上多次使用它。

例如,用户控件可以渲染图像和产品的详细信息,然后如果您在转发器中使用它,您可以使用一个控件和一个循环来渲染数据库中的所有产品。

我在我的 web 项目的 aspx 页面上编写的代码并不都是 html。

您在 aspx 页面上编写的内容实际上是让 asp.net 解析和呈现最终 html 页面的编程代码。Asp.net 允许您拥有内部代码和 html 和其他文本,并使用 asp.net 特殊标记和声明将必须解析的部分与其余文本分开。

于 2012-06-13T10:16:17.363 回答