0

我只是想知道为什么在相应的 Web 浏览器代码中看不到控件的 ASP.NET 代码片段?

例如asp.net代码:

asp:Button ID="Button1" runat="server" style="margin-left: 427px" Text="Submit" 

浏览器代码:

input type="submit" name="ctl00$ContentPlaceHolder1$Button1" value="Submit" 
      id="ContentPlaceHolder1_Button1" style="margin-left: 427px" 
4

4 回答 4

1

因为 ASP.NET 是一个服务器端的 Web 应用程序框架,所以看不到背后的代码。如果没有对服务器本身的物理或远程访问,您将看不到代码。

理论上,您也可以错误地配置 IIS 服务器以显示源文件,这将导致它们被显示,而不是被编译,但不知道为什么有人会这样做。默认情况下,IIS 不会显示它们。

于 2013-09-30T08:33:12.980 回答
1

以“asp:”为前缀的标签由服务器端逻辑处理,永远不会到达客户端。服务器将它们转换为 HTML 结构。

于 2013-09-30T08:27:58.383 回答
1

Asp.Net 是一个用于构建必须呈现为标准 HTML 页面的网页的框架 - 否则,它们将无法在浏览器中工作。

因此,在将页面输出到客户端之前,CLR 会解释和替换任何特定的 ASP.NET 标记。

于 2013-09-30T08:28:32.950 回答
0

基本上,ASP.NET 是基于单一表单模型的 Web 框架,所有服务器控件都应该放在在服务器上运行的表单中。从 ASP.NET 2.0 到现在,您也可以使用多个表单,但是,一个表单将在运行时处于活动状态。

<asp:Button ID="something" runat="server"></asp:Button>将生成的ASP.NET 服务器控件<input type="button" id=""></input>- 唯一 id 由 ASP.NET 框架生成并由ctl100启动。

于 2013-09-30T08:34:15.723 回答