none
如何查看asp生成的html代码 RRS feed

  • 问题

  • 是这样的我在很多地方比如这个网页里面看见如下的内容

    ..........

    当TextBox1放到DataGrid中

    <asp:DataGrid ID="dg1" runat="server"

    OnSelectedIndexChanged="dg1_SelectedIndexChanged">
            <Columns>
            <asp:TemplateColumn>
            <ItemTemplate>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            </ItemTemplate>
            </asp:TemplateColumn>
                <asp:ButtonColumn CommandName="Select" Text="选择"></asp:ButtonColumn>
            </Columns>
            </asp:DataGrid>

    这时候this.FindControl("TextBox1")==null,无法获得TextBox1,查看生成页面HTML发现,页

    面有多个

     <input name="dg1$ctl02$TextBox1" type="text" id="dg1_ctl02_TextBox1" />

     <input name="dg1$ctl03$TextBox1" type="text" id="dg1_ctl03_TextBox1" />、、、

    ..................


    查看生成页面HTML发现 这句里面的生成页面html是指什么?aspx和cs里面的代码都没有这种。还有asp最终是生成html?

    2017年12月20日 15:28

答案

  • 你好,

    生成的页面是指,你的webform运行的时候,系统编译后台方法从而生成的HTML代码。

    在asp.net的页面生命周期里面有一个呈现的步骤:

    在呈现之前,会针对该页和所有控件保存视图状态。在呈现阶段中,页会针对每个控件调用 Render 方法,它会提供一个文本编写器,用于将控件的输出写入页的 Response 属性的 OutputStream 中。

    我建议你可以参考如下文章去理解,asp.net页面生命周期:

    https://msdn.microsoft.com/zh-cn/library/ms178472(v=vs.100).aspx

    至于如何在生成之后的页面上看HTML代码,你可以通过浏览器的develop工具。在浏览器里面按F12。

    像这样:


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    2017年12月21日 6:27