本文介绍了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机制问题。。。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
下一篇 :
微软推出GVFS(Git虚拟文件系统)
-
Flink 1.9 实战:使用 SQL 读取 Kafka 并写入 MySQL | 9月4号栖夜读
2026-05-19栏目: 教程
-
历时五天用 SwiftUI 做了一款 APP,阿里工程师如何做的?
2026-05-19栏目: 教程
-
从立创EDA,Gratipay看中文编程开发环境和推广运营的一个趋势
2026-05-19栏目: 教程
-
开发者必读 · 周报 | 001期
2026-05-19栏目: 教程
-
左手代码右手滑板 支付宝这个程序员有些酷
2026-05-19栏目: 教程
