添加母版页后Javascript不工作

添加母版页后Javascript不工作,javascript,asp.net,master-pages,Javascript,Asp.net,Master Pages,最初我可以在选择图像后预览图像。添加母版页后,javascript不再工作 这是我的主页 <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="Testing.Site1" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="serv

最初我可以在选择图像后预览图像。添加母版页后,javascript不再工作

这是我的主页

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="Testing.Site1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>     
<asp:ContentPlaceHolder ID="head" runat="server">       
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
<%@ Page Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Testing1.aspx.cs" Inherits="Testing.Testing1" %>
<asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
    function imagepreview(input)
    {
        if (input.files && input.files[0]) {
            var fildr = new FileReader();
            fildr.onload = function (e) {
                $('#Image1').attr('src', e.target.result);
            };
            fildr.readAsDataURL(input.files[0]);
        }
    }
</script>  
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">  

    <asp:FileUpload ID="FileUpload1" runat="server" />
    <br />
    <asp:Image ID="Image1" runat="server" height="100" Width="100" />
    <br />
    <br />
    <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" />
    <br />
    <br />
    <asp:TextBox ID="tbRetrieve" runat="server"></asp:TextBox>
    <br />
    <asp:Button ID="btnRetrieve" runat="server" Text="Retrieve" OnClick="btnRetrieve_Click" />
    <br />
    <asp:Image ID="Image2" runat="server" />
    <br />
    <asp:Label ID="lblMessage" runat="server"></asp:Label>
    <br />
    <br />
    </asp:Content>

那么问题出在哪里?

在添加母版页时,查找控件id的代码将被更改,您必须这样替换代码

<script type="text/javascript">
function imagepreview(input)
{
    if (input.files && input.files[0]) {
        var fildr = new FileReader();
        fildr.onload = function (e) {
            $('#<%=Image1.ClientID%>').attr('src', e.target.result);
        };
        fildr.readAsDataURL(input.files[0]);
    }
}

函数图像预览(输入)
{
if(input.files&&input.files[0]){
var fildr=new FileReader();
fildr.onload=函数(e){
$('#').attr('src',e.target.result);
};
fildr.readAsDataURL(input.files[0]);
}
}

在添加母版页时,查找控件id的代码将被更改。您必须这样替换代码

<script type="text/javascript">
function imagepreview(input)
{
    if (input.files && input.files[0]) {
        var fildr = new FileReader();
        fildr.onload = function (e) {
            $('#<%=Image1.ClientID%>').attr('src', e.target.result);
        };
        fildr.readAsDataURL(input.files[0]);
    }
}

函数图像预览(输入)
{
if(input.files&&input.files[0]){
var fildr=new FileReader();
fildr.onload=函数(e){
$('#').attr('src',e.target.result);
};
fildr.readAsDataURL(input.files[0]);
}
}

为了在后台调用javascript方法,您需要使用这样的代码


Page.ClientScript.RegisterStartupScript(this.GetType(),“CallMyFunction”,“MyFunction()”,true)

为了在后台调用javascript方法,您需要使用这样的代码


Page.ClientScript.RegisterStartupScript(this.GetType(),“CallMyFunction”,“MyFunction()”,true)

“CallMyFunction”即方法名“CallMyFunction”即方法名