当前位置: 首页 > 编程笔记 >

详解Asp.Net母版页元素ID不一致的体现

严正诚
2023-03-14
本文向大家介绍详解Asp.Net母版页元素ID不一致的体现,包括了详解Asp.Net母版页元素ID不一致的体现的使用技巧和注意事项,需要的朋友参考一下

本文介绍了Asp.Net母版页元素ID不一致的体现,分享给大家,具体如下;

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" Theme="style" AutoEventWireup="true"
   CodeFile="r_Balance.aspx.cs" Inherits="Report_r_Balance" %>

<asp:Content ID="content" ContentPlaceHolderID="MainContent" runat="server">

 

   <form id="form1" runat="server">
     <div>
       <table cellspacing="0" cellpadding="0" border="0">
         <tbody>
           <tr>
             <td>
               <asp:Label ID="lbPagename" runat="server" SkinID=" " Text="余额统计"></asp:Label>
             </td>
           </tr>
           <tr>
             <td>
               <asp:ImageButton ID="btnPrint" runat="server" SkinID="b_print" ="btnPrint_Click" />
               <asp:ImageButton ID="btnExport" runat="server" SkinID="b_export" ="btnExport_Click" />
             </td>
           </tr>
         </tbody>
       </table>
       <!--结束功能条-->
       <table border="1" style="font: 宋体; font-size: 12px;">
         <tr>
                   <td style="width: 256px; height: 15px;">
             卡号*</td>
           <td colspan="1" style="width: 233px; height: 15px">
             <asp:TextBox ID="txtc_printno" runat="server"></asp:TextBox></td>
           <td colspan="1" style="height: 24px; font-size: 14px; font-family: 宋体; width: 180px;"
            >
             <asp:ImageButton ID="nSearch" runat="server" AlternateText="查询" ImageAlign="Middle"
               ImageUrl="~/images/go.gif" ="nSearch_Click" />
           </td>
         </tr>
       </table>

....

生成的HTML代码:

  <form name="aspnetForm" method="post" action="r_Balance.aspx" id="aspnetForm">

<table cellspacing="0" cellpadding="0" border="0">
         <tbody>
           <tr>
             <td>
               <span id="ctl00_MainContent_lbPagename" style="display:inline-block;color:#F2F3F9;border-style:None;font-family:宋体;font-size:13px;height:22px;">余额统计</span>
             </td>
           </tr>
           <tr>
             <td>
               <input type="image" name="ctl00$MainContent$btnPrint" id="ctl00_MainContent_btnPrint" src="../App_Themes/style/images/b_print.jpg" ="return np();" style="border-style:Ridge;border-width:0px;" />
               <input type="image" name="ctl00$MainContent$btnExport" id="ctl00_MainContent_btnExport" src="../App_Themes/style/images/b_export.jpg" style="border-style:Ridge;border-width:0px;" />
             </td>
           </tr>
         </tbody>
       </table>
       <!--结束功能条-->
       <table border="1" style="font: 宋体; font-size: 12px;">
         <tr>

           <td style="width: 256px; height: 15px;">
             卡号*</td>
           <td colspan="1" style="width: 233px; height: 15px">
             <input name="ctl00$MainContent$txtc_printno" type="text" id="ctl00_MainContent_txtc_printno" style="width:120px;height:16px;font-size:12px;font-family:宋体;color:DimGray;border-width:1px;border-style:Solid;border-color:#C4CAE6;background-color:White;" /></td>
           <td colspan="1" style="height: 24px; font-size: 14px; font-family: 宋体; width: 180px;"
            >
             <input type="image" name="ctl00$MainContent$nSearch" id="ctl00_MainContent_nSearch" src="../images/go.gif" alt="查询" ="return nselect();" style="border-width:0px;" />
           </td>
         </tr>
       </table>

注意:

1.源文件控件和元素ID和生成HTML文件的ID不一致。在生成的HTML中原ASP控件ID加了ctl00_MainContent_前缀,其他元素加了ctl00$MainContent$前缀。原变form1为aspnetForm这是因为aspx页面的控件是母板页的ContentPlaceHolder
控件下的子控件,所以控件ID会变

2.<system.Web><xhtmlConformance mode="Transitional|Legacy|Strict" />在其中选择 Transitional、Strict则产生自动前缀。ctl00.选择 Legacy|则产生自动前缀_ctl0.

3.后台Request.Form["txtc_name"]键值需要改变,必须变为Request.Form["ctl00$MainContent$txtc_name"]才能收到页面输入值

4.至于为什么,只能说这是.NET机制问题。。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍浅谈Asp.Net母版页的相关知识,包括了浅谈Asp.Net母版页的相关知识的使用技巧和注意事项,需要的朋友参考一下 Asp.Net母版页的相关知识 母版页的使用与普通页面类似,可以在其中放置文件或者图形、任何的HTML控件和Web控件,后置代码等。母版页的扩展名以.master结尾,不能被浏览器直接查看。母版页必须在被其他页面使用后才能进行显示。 它的使用跟普通的页面一样,可以可视

  • 我知道这是一个重复的问题,但我没有得到解决方案,因此再问一次。 我正在使用selenium C#,并在同一页面上的同一个操作中得到上述错误。我的测试在本地机器上运行良好,但当我通过TFS在服务器上执行时,相同的测试不一致。 我在测试中做了一些更改,因为它在单击操作后重新加载DOM,现在我在本地机器上重新加载对象后检查它是否正常工作,但在服务器上不一致。如果选中了复选框,我需要取消选中。我在包含此复

  • 本文向大家介绍ASP.NET窗体身份验证详解,包括了ASP.NET窗体身份验证详解的使用技巧和注意事项,需要的朋友参考一下 asp.net的身份验证类型如下:   在我们实际的工作中,froms身份验证用的还是比较多的,我们接下来详细说一下: 做为web开发的程序员,我想登录窗体是接触的太多了。可是,我发现有的程序员在对身份验证的时候是把验证的用户名保存在一个session里的,然后进入系统的每个

  • 本文向大家介绍详解ASP.NET页面生命周期,包括了详解ASP.NET页面生命周期的使用技巧和注意事项,需要的朋友参考一下 ASP.NET页面运行时候,页面将经历一个生命周期,在生命周期中将执行一系列的处理步骤。包括初始化、实例化控件、还原和维护状态、运行时间处理程序代码以及进行呈现。熟悉页面生命周期非常重要,这样我们才能在生命周期的合适阶段编写代码。如果我们能在写代码的时候想着我们现在是在做生命

  • 本文向大家介绍JavaScript获取页面元素的常用方法详解,包括了JavaScript获取页面元素的常用方法详解的使用技巧和注意事项,需要的朋友参考一下 1、通过标签获取元素,返回一个数组 2、通过id获取页面元素 3、通过class名字获取页面元素 4、通过CSS选择符方式获取页面元素 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我对母版页下的页面有一些问题。我的小软件使用sharp代码生成随机值,然后使用客户端脚本将i从0计数到值。当我在没有母版页的情况下运行程序时,它会工作,但当我试图从嵌套页运行它时,它就不工作了。这是我的代码: 主控页面只有内容占位符。嵌套web表单: 尖锐的代码: 脚本: 这里的错误var q=Number(document.getElementById(“Label1”).innerHTML);