程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET 2.0創建母版頁引來的麻煩

ASP.NET 2.0創建母版頁引來的麻煩

編輯:關於ASP.NET

本文將為大家介紹一下 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" onclick="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" onclick="insert();" type="button" value="客戶端插入(_)" runat="server"/></div>
</asp:Content>

當打開後按下按鈕出現了“Microsoft JScript 運行時錯誤: 'document.getElementById(...)' 為空或不是對象”。這是什麼原因呢?原來好 好的,怎麼套用個母版頁就出現這個奇怪的問題呢?困擾了好久,和朋友討論了 一下,終於找到了答案……

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved