2011-09-19 2 views
7

마스터 페이지를 사용하는 asp.net 웹 폼에 문제가 있습니다. 이 문제는 페이지의 이름이 default.aspx 인 경우에만 발생합니다. Page_Load 이벤트에 코드가있는 경우 default.aspx라는 이름을 지정하면 다른 이벤트가 발생하지 않습니다. 여기에는 OnInit 및 Button Click 이벤트를 테스트 한 모든 코드가 포함되어 있습니다.이 문제는 버튼 클릭이 발생하지 않는 것으로 먼저 나타납니다.default.aspx 페이지 (ASP.net 3.5)의 이벤트 문제

Default.aspx를 코드

<%@ Page Title="" Language="C#" MasterPageFile="~/TWS/tws.Master" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="SITMComAU.TWS.original" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="bodyPlaceholder" runat="server"> 
</asp:Content> 

하는 OnInit 화재 - 검사 통해 브레이크 포인트

public partial class original : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 


    } 

    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     int a = 1; 
     int b = 2; 
     int c = a; 
    } 
} 

하는 OnInit하지 않습니다 화재 - 검사 통해 브레이크 포인트

public partial class original : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     /* 
      int y = 5; 
      int z = y - 1; 
     */   
    } 

    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     int a = 1; 
     int b = 2; 
     int c = a; 
    } 
} 

하는 OnInit 있지 않음 화재 : - 영문는, CS 및 디자이너 파일이 기본 이외의 다른 이름이 변경되는 경우 검사 통해 브레이크 포인트

public partial class original : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

      int y = 5; 
      int z = y - 1; 

    } 

    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     int a = 1; 
     int b = 2; 
     int c = a; 
    } 
} 

위의 모든 작업.

마스터 페이지와 같습니다. 레이아웃 전용이며 .cs 파일에는 기능이 없습니다.

  • 제거 DLL, 당기면 내 머리
  • 을 잡아 당겨 빈
  • 부두
  • 에서 PDB 파일을 다시 부팅 비주얼 스튜디오
  • 를 다시 시작 : 나는 시도 무엇

    다른 머리카락

몇 사람이 도울 수 있기를 바랍니다.

+0

다른 어떤 페이지가 있습니까? 그것들 중 어느 것이'Default'라고 불리우나요? ASP.NET 프로젝트는 네임 스페이스를 자동으로 제대로 구현하지 못하는 성가신 일을 겪습니다. 따라서 형식 충돌이있을 수 있습니다 (예 : 이벤트가 _ Default_' 기본값 '에 묶여있을 정도로 충분히있을 수 있습니다). –

+0

@Mr . 실망은이 프로젝트가 몇 개의 디렉토리 인 웹 사이트입니다. 이들 중 일부는 default.aspx 페이지를 가지고 있습니다. 나는 samw 라인을 따라 생각하고 있는데, 클래스가 "기본"또는 "_default"가 아닌 "원래" –

+1

이상한, 부두가 보통 작동합니다. – onof

답변

0

코드 숨김 네임 스페이스 및/또는 클래스를 변경하고 문제가 해결되는지 확인하십시오. 그렇다면 아마도 다른 default.aspx 페이지의 이벤트/컨트롤이 간섭하기 때문일 수 있습니다.

+0

예제에서 언급했듯이 클래스는 "default"가 아니지만 원본 –

+0

default.aspx 클래스의 이름을 "original"으로 지정했기 때문에 어딘가에 충돌이있을 수 있습니다. 킥을 위해서 뭔가 다른 것으로 바꾸려고 했습니까? 어쩌면 SITMComAU.TWS.originalXYZ. 적어도 그 이론을 창 밖으로 던질 것입니다. –

+0

코드 숨김 클래스의 이름이 올바르지 않거나 복제되지 않으면 페이지가 실행되지 않습니다. 그것은 심지어 컴파일되지 않습니다. 이럴 수는 없습니다. –

1

이벤트가 발생하고 있으며 중단 점을 지정하지 않는 Visual Studio 디버거의 문제 일 수 있습니다. 파일을 쓰고 그런 일이 있는지보십시오.

관련 문제