您好,登錄后才能下訂單哦!
小編給大家分享一下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" > <tr> <td > 卡號*</td> <td colspan="1" > <asp:TextBox ID="txtc_printno" runat="server"></asp:TextBox></td> <td colspan="1" > <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" >余額統計</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();" /> <input type="image" name="ctl00$MainContent$btnExport" id="ctl00_MainContent_btnExport" src="../App_Themes/style/images/b_export.jpg" /> </td> </tr> </tbody> </table> <!--結束功能條--> <table border="1" > <tr> <td > 卡號*</td> <td colspan="1" > <input name="ctl00$MainContent$txtc_printno" type="text" id="ctl00_MainContent_txtc_printno" /></td> <td colspan="1" > <input type="image" name="ctl00$MainContent$nSearch" id="ctl00_MainContent_nSearch" src="../images/go.gif" alt="查詢" ="return nselect();" /> </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母版頁元素ID不一致的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。