2014-12-18 2 views
0

나는 작동하지 않는 콘텐츠 페이지에 스크립트가 있습니다. 마스터 페이지없이 일반 페이지에서 스크립트를 사용하면 작동합니다. 누군가에콘텐츠 페이지에서 작동하지 않는 스크립트

<%@ Page Language="C#" MasterPageFile="~/Site2.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="MojSajt.WebForm1" %> 
 

 
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1"> 
 
    
 
    <script type="text/javascript"> 
 
     function ShowpImagePreview(input) { 
 
      if (input.files && input.files[0]) { 
 
       var reader = new FileReader(); 
 
       reader.onload = function (e) { 
 
        $('#ImgPrv').attr('src', e.target.result); 
 
       } 
 
       reader.readAsDataURL(input.files[0]); 
 
      } 
 
     } 
 
    </script> 
 
     
 
      <div > 
 
      <asp:Image ID="ImgPrv" Height="80px" Width="80px" runat="server" /><br /> 
 
      <asp:FileUpload ID="flupImage" runat="server" onchange="ShowpImagePreview(this);" /> 
 
      </div> 
 
    
 
    </asp:Content>

+2

MasterPages가 HTML 요소의 ** 렌더링 된 ** id 속성에 미치는 영향을 연구하십시오. 보통 페이지에서'# ImgPrv'를 찾을 수있는 이유를 설명 할 것입니다 만, MasterPages를 사용하지 않을 때는 – freefaller

답변

0

변화 당신의 JS 좀 도와 드릴까요 :

<asp:Image ID="ImgPrv" Height="80px" ClientIDMode="Static" Width="80px" runat="server" /><br /> 

에 이미지 컨트롤 코드를 변경

$(document).ready(function() { 
      function ShowpImagePreview(input) { 
       if (input.files && input.files[0]) { 
        var reader = new FileReader(); 
        reader.onload = function (e) { 
         $('#ImgPrv').attr('src', e.target.result); 
        } 
        reader.readAsDataURL(input.files[0]); 
       } 
      } 
     }); 

제어는 변경 렌더링 될 때 콘텐츠 소유자 또는 콘텐츠 소유자의 경로를 반영하는 컨트롤 ID ID의 부모 컨트롤 ClientIDMode="Static"은 ID를 변경하지 않습니다.

+0

고맙습니다. – miroslav

관련 문제