将ASP.NET服务器控件转为HTML控件后,.aspx.cs文件会自动修改吗?
关于ASP.NET中.aspx.cs文件是否会被自动修改的疑问
当向Web服务器请求.aspx页面时,服务器会执行该页面并将页面上的ASP服务器端控件转换为HTML格式返回。现咨询:对应的Testing.aspx.cs文件是否会随之被修改?例如原代码int no1 = Convert.ToInt32(textbox1.Text); int no2 = Convert.ToInt32(textbox2.Text);,是否会自动转换为int no1=Convert.ToInt32(Request["textbox1"]); int no2=Convert.ToInt32(Request["textbox2"]);的形式?
解答
不会,你的Testing.aspx.cs文件绝对不会被自动修改。
ASP.NET Web Forms的运行逻辑是这样的:
- 当你请求.aspx页面时,服务器会动态生成一个继承自后台类(也就是
Testing.aspx.cs里的login.Testing)的临时类,这个临时类负责将服务器端控件渲染成HTML,但整个过程完全不会改动你本地的.aspx.cs源文件。 textbox1.Text这种写法是Web Forms服务器控件模型提供的语法糖,框架会自动处理它和请求参数的映射,不需要你手动改成Request["textbox1"],而且框架绝不会修改你的原始代码来替换这两种写法。- 本地的
.aspx.cs文件是你自主维护的源码,只有手动编辑才会改变,服务器的运行过程不会对它有任何修改。
代码示例
Testing.aspx 文件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Testing.aspx.cs" Inherits="login.Testing" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body style="background-image:url(C:\Users\Sudarshan\source\repos\login\login\Images\uWjEogFLUTBc8mSvagdiuP.jpg)"> <form id="form1" runat="server"> <div> <table align="center"> <tr> <td> Enter the Number 1:<asp:TextBox ID="textbox1" runat="server"></asp:TextBox> </td> </tr> <tr> <td> Enter the Number 2:<asp:TextBox ID="textbox2" runat="server"></asp:TextBox> </td> </tr> <tr> <td> <center> <br /> <br /> <asp:Button ID="button1" runat ="server" Text="Add" Height="38px" OnClick="Unnamed1_Click" Width="101px" /> </center> </td> </tr> </table> </div> </form> </body> </html>
Testing.aspx.cs 文件片段
Request["textbox1"] Request["textbox2"]
内容的提问来源于Stack Exchange,提问作者Sudarshan Patil
相关产品推荐
相关产品推荐

