ASP.NET 2.0 创建母版页引来的麻烦

 本文将为大家介绍一下 ASP.NET 2.0 在创建母版页时引来的麻烦,并分析了问题产生的实质,大家在实际操作中多多注意一下。

  一、问题提出

  由于总体排版和设计的需要,我们往往创建母版页来实现整个网站的统一性,最近我由于统一性的需要,把原来整个项目单独的页面全部套用了母版页。但是出现了一个错误……在我的Blog中记录一下,方便大家参考。

  二、 抽象模型

  由于整个页面内容过多,所以我把这个页面中最为本质的问题抽象出来。

  原来单一页面,就是利用按钮触发JS事件,在文本域中插入“(_)”功能,其实现代码如下:

以下是引用片段:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>单一页面抽象模型-YJingLee</title>
<script language="javascript" type="text/javascript">
// <!CDATA[
function insert() {
           document.getElementById("txt").value=document.getElementById("txt").value+"(__)";
        return;
}
// ]]>
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <textarea id="txt" runat="server" name="txt" rows="10" cols="50"></textarea>
        <asp:Button ID="btnInsert" runat="server" Text="服务器端插入(_)"  OnClientClick="insert();"/>
        <input id="btnInsert2" name="insert" οnclick="insert();" type="button" value="客户端插入(_)" runat="server"/></div>
    </form>
</body>
</html>
  

  上述页面可以正常使用。后来使用模板页后,其代码如下:

以下是引用片段:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" Title="使用母版页面抽象模型-YJingLee" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script language="javascript" type="text/javascript">
// <!CDATA[
function insert() {
           document.getElementById("txt").value=document.getElementById("txt").value+"(__)";
        return;
}
// ]]>
</script>
    <div>
        <textarea id="txt" runat="server" name="txt" rows="10" cols="50"></textarea>
        <asp:Button ID="btnInsert" runat="server" Text="服务器端插入(_)"  OnClientClick="insert();"/>
        <input id="btnInsert2" name="insert" οnclick="insert();" type="button" value="客户端插入(_)" runat="server"/></div>
</asp:Content>

  当打开后按下按钮出现了“Microsoft JScript 运行时错误: 'document.getElementById(...)' 为空或不是对象”。这是什么原因呢?原来好好的,怎么套用个母版页就出现这个奇怪的问题呢?困扰了好久,和朋友讨论了一下,终于找到了答案……

  三、分析本质

  原来我们仔细看看其生成的HTML代码:

  单一页面:

以下是引用片段:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>    单一页面抽象模型-YJingLee</title>
<script language="javascript" type="text/javascript">
// <!CDATA[
function insert() {
     document.getElementById("txt").value=document.getElementById("txt").value+"(__)";
    return;
}
// ]]>
</script>
</head>
<body>
    <form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTEzMjE5NDA0NWRkKlEH1jSXJkIbnUaP2d9Dra8LQEk=" />
</div>
    <div>
        <textarea name="txt" id="txt" rows="10" cols="50"></textarea>
        <input type="submit" name="btnInsert" value="服务器端插入(_)" οnclick="insert();" id="btnInsert" />
        <input name="btnInsert2" type="button" id="btnInsert2" οnclick="insert();" value="客户端插入(_)" /></div>
<div>
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBALVid/5DQKShrDCCQL5w9POBQL5w4vOBZPGqxUU/yvoKTqG8k+uG8YroGTv" />
</div></form>
</body>
</html>
  、Sóme… ★尋找承諾★ 馨萝-女人香 地苽`~筱潴潴 鈅懸/yl鈷鎮 凉面 SOSO用户 ∮籪Ж檒☆ -[尛 偉/] 泡沫之夏 神秘男liu氓 醉梦无痕& 維他命_ 游遍China ┡ЮTメ→强 晴天小虎 .oヽ掱背/╲, ò "劇終 天堂の劇終℡ `Ha.Andy、 平面§小精灵 拉登→心情 11111 泚莮孒の哊毐 Childe 〖缘ヤ分〗 0℃dě眼淚 Next街角 無倷 ┢┦apΡy 糖葫芦 最終/qz幻想 「皁巳痲ホヾ 逍遙¤逐靈ぶ 風~ ~ ~ ~ ~ 追梦熊;多笾 Яèd氣球oО ↙ 王 大 少 520056819 開始頽廢 SOSO用户 逍遥$轩& &( 尐儍苽-℡ 傑倫/aiq溡緔 三世轮回   [﹃] :- -↘無言 ゞ①苆ㄨ隨缘 莉攀ベ⒏⒏层 じoveChikage /li龍魂/!!! ★①错再错★ °╪ mFˋ酷 ゥ﹎劇. れ嘢蠻尐鱻れ ﹎劃上劇號﹎ ☆樂樂☆ 哭泣中的美 永远的… KiSs♂→YoU 失眠多夢。 hbb 都叫我唐伯虎 ﹎ヤ臣 _▂ ╰*ぶ戀ぶ*╮ 漩囀の風車 ˊ/-蕥芠_↘ 那兰逐幻 嫥屬"婞福. 鉳 鉳 ︶ㄣRa!n ゝ {-从啙以後 } 棒棒Táng Let’s Shine 天使∑掉下来 ●o笨疍z! ヤ古劍魂 石头的依偎 /sun♀靜似月 杏林一叶 寒尘/love 乖乖可人儿 Fox_K/ty 啭..ㄐ 冷泪︻┳═一 香雪菲儿 cΗao 洳惈愛请罙愛 ~&孤独的~* ﹖⒉∞7.榊話 九妹 华仔/ty SOSO用户 10ο﹪釹魜` 木時 浪子/aiq風雲 {愛這釹孓 亖X●mè 如水 |懒瀦|﹖ .o 莠· ωǒべ對ヾle 兄弟儀 56856641 〆﹎詼鈷娘ˇ 灬KiSs |°誹孆ザㄝ 阿杰 B○~B○/cy 哖_少オ輕狂 Orpheus 夢の寒/xy 蓝色忧郁 bιη 雄鷹╃]]騰飛 月升日落 决不言败 混世あ魔王 蔚蓝的す空氣 木木 比金猪大一岁 Ψ爍⒗仔ㄨ 云霄 ·丄錯床﹖ 祗愛妳①ɡè .﹎値鍀_﹖ 靚仔鎭英俊 穿牛仔的耶稣 栤蘜憮娯 ヅ惡魔ぺ嫙嵂 极限天子 祐珥環┊_◆ 「儛之綉﹣﹖ 活得更精彩 不睡觉的鱼 水稻开拓手 憂鬱曉巫婆 冰红茶 悠傻)-) oヤ偽妳變壞o DΟИG ╰☆鎏曐→雪 騰訊Qq ヴ无敌ㄜ英雄 沧桑男人 111111111111 遗じのve忘﹎ 贰え蕶ㄏ肆 ぷ葑鈊鎖愛ぷ /mg短开ぃ弦 /:P縴 掛 ★神蘅苡♂侠 ヤ朩 い耦 ′Mua.〢﹎榤 晒黑的云 _◆≒;絆軹煙 阳光小子 真水&无香 ♂MeˇJ!é} L.way 教 父(毅) ⒌顔6銫d笹琾 ╳╳ .翫掵℡ TIANSHENGYID 孤雁双飞 錒傑- | .儍氣 ゛﹖ ☆ 大と小 __傷勒.o 冰果 问问 开心的男孩 冷光 ㄗ仟Běㄨ樱 .泪滑过ヤo ξ→稥 煙 す嗸⑩菾梺メ ℡┌⒈顆糖 ‘雙性灬戀 ▕&麥|兜' ヤ木目○公ヤ /yl水中月影 .兲藍sё 嗯,莪错ㄋ 昌覀仳盧普斯 bajinlong ☆開鈊 √ ╰☆丹ぺん 吃饱了撑着 习惯沉默 ′_摯情ヽ. Y丶Sky灬丨圣 рaИdа﹏o …藯灆の寂寞 yzjy 幽灵骑士

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值