如何在另一个aspx页面中引用母版页中的JavaScript代码

时间:2015-04-09 05:19:04

标签: javascript asp.net sharedpreferences master-pages

简单的问题:如何从我的一个ASPX页面引用主页文件上的JavaScript代码(也在相同的文件夹上,与其他ASPX页面一样)?

母版页

    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="JobRegister.master.cs" Inherits="JobRegister_Job" %>

    <!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>Tec-NQ miJob Register</title>
        <style type="text/css">
        textarea { font-family: Arial; font-size: 10pt; }
        a { white-space: nowrap; }
        .tablestyle { background-color:#eeeeee; width:100%; margin-bottom:2px; padding:3px; }
        .checkboxlist input { position:relative; left: 360px; }
        .checkboxlist label { position:relative; left: -22px; }
        .hidepanel { display: none; }
        .showpanel { display: block; }
        </style>

        <script src="<%# ResolveUrl("~/") %>" type="text/javascript">
            /*
                Added : Variables required for image uploading & validation checking.
                By : Amit Champaneri
                On : 4th April 2008
            */
            var hoverColor = "#00000b"; //DIV Color when mouse is hover the DIV
            var defaultColor = "black"; //DIV default color
            var selectColor = "#000000"; // DIV color when its selected.
            var selectedDIV = "";        //ID of the DIV user has currently selected(it will be 1,2,3 or 4)                
            var objActiveX; //Object of Clipboard ActiveX control.
..
..etc..

我的ASPX页面引用了母版页中的Javascripts ...

ASPX页面

<%@ Page Language="C#" MasterPageFile="~/JobRegister/JobRegister.master" AutoEventWireup="true" CodeFile="Details.aspx.cs" Inherits="JobRegister_Details" %>
<%@ Register TagPrefix="tecnq" TagName="JobAction" Src="ActionControl.ascx" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1" DataKeyNames="JobID, CreatedBy" GridLines="None" 
        AllowPaging="True" DefaultMode="Edit" OnDataBound="FormView1_OnDataBound" OnItemCreated="FormView1_OnItemCreated"
        OnItemUpdated="FormView1_OnItemUpdated" OnItemUpdating="FormView1_Updating"
        HeaderText="Job Details" CellPadding="0" Font-Names="Arial" Font-Size="10pt">
        <HeaderStyle BackColor="#5D7B9D" ForeColor="White" Font-Bold="True" HorizontalAlign="Center" Height="30px" />
        <InsertItemTemplate>
...
..etc..
...
<img id="imgPaste1" src="Images/imgPaste.gif" class="LinkImage" title="Click here to Paste any copied Image" onclick="javascript:pasteOnClick('1');" />
..
..etc..
..

我从一个很棒的博客上了解了如何将剪贴板图像粘贴到网络表单中...

http://www.codeproject.com/Articles/25967/Clipboard-ActiveX-for-Image-Copy-Paste-into-Web-Fo

上述博客中的演示效果很好,但Javascript和ASPX代码都在同一个文件中!

如何使用MasterPage中的Javascript执行相同的操作并在ASPx文件中引用脚本?

我还尝试将所有代码放在我的ASPX文件中,但是我在这行代码中得到了无效的引用错误......

document.getElementById("<%=hdnImageFileName1.ClientID %>").value = "";

它说它无法找到对&#34; hdnImageFileName1&#34;的引用,但我知道它在我的ASPX页面中进一步向下...

<asp:HiddenField runat="server" ID="hdnImageFileName1" />

提前致谢。

1 个答案:

答案 0 :(得分:0)

答案就像@deostroll所说的那样。我将所有JS代码移动到custom.js文件中,并通过标记简单地引用它。简单。完成!谢谢