2011-11-11 4 views
2

처음에는 VB 코드로 구현 된 asp.net 페이지 WineCompDefault.aspx가 있습니다. 나는 지금 CS에 뒤 따르는 코드를 변경하려고 노력 중이다.Aspx 페이지를 VB에서 CS로 변환

Imports Microsoft.VisualBasic 
Imports System.Web.UI 
Imports MarymonteDAL 
Imports System.Data 
Imports System.Data.OleDb 


Partial Class WineCompDefault 
    Inherits System.Web.UI.Page 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    End Sub 

    Protected Sub btnLogOn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLogOn.Click 
     Dim myLabel As Label 
     myLabel = Page.FindControl("lblTitle") 
     If Not myLabel Is Nothing Then 
      lblResults.Text = myLabel.Text 
     Else 
      lblResults.Text = "Could not find the label control." 
     End If 
     btnLogOn.Visible = False 
    End Sub 
End Class 
: -

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="WineCompDefault.aspx.vb" Inherits="WineCompDefault" %> 

으로 -

<%@ Page Language="C#" AutoEventWireup="false" CodeFile="WineCompDefault.aspx.cs" Inherits="WineCompDefaultCS" %> 

WineCompDefault.aspx.vb 파일은 다음을 포함

에서 다음과 같이 나는 aspx 페이지의 페이지 지시문을 수정

VB에서 C# 코드 변환기는 다음을 제공합니다 (클래스 이름을 Wine으로 변경 한 경우 제외). 나는 또한 페이지 지시문에서 변경 CompDefaultCS는, 그래서 나는이 프로젝트에있는 파일 뒤에 모두 코드)

using Microsoft.VisualBasic; 
using System.Web.UI; 
using System.Data; 
using System.Data.OleDb; 


partial class WineCompDefaultCS : System.Web.UI.Page 
{ 


    protected void Page_Load(object sender, System.EventArgs e) 
    { 
    } 

    protected void btnLogOn_Click(object sender, System.EventArgs e) 
    { 
     Label myLabel = default(Label); 
     myLabel = Page.FindControl("lblTitle"); 
     if ((myLabel != null)) { 
      lblResults.Text = myLabel.Text; 
     } else { 
      lblResults.Text = "Could not find the label control."; 
     } 
     btnLogOn.Visible = false; 
    } 

    Public WineCompDefault() 
    { 
     Load += Page_Load; 
    } 
} 

문제는 그것이 '형식 또는 네임 스페이스 공공 찾을 수 없습니다 "라는 것입니다있을 수 있습니다. 무엇이 잘못되었거나 누락되었는지 나는 모른다. 모든 도움이 크게 감사드립니다.

는 (필자는 CS가 제대로 작동 확신하면 또한, 참고, 나는 VB 파일을 제거합니다. 나는이 시간에 프로젝트에 모두를 유지하려는 이유는)

+0

귀하의 클래스 이름은 WineCompDefaultCS이지만 귀하의 생성자 이름은 WineCompDefault입니다. – NickD

+0

및 액세스 한정자는 대소 문자를 구분합니다 - public not Public – iandayman

+0

대소 문자를 구별하고 생성자의 이름을 바꾸는 해결책 인 것 같습니다. 모두에게 감사드립니다 !! –

답변

1

생성자가 올바르지 않습니다. 생성자는 항상 클래스 이름 (WineCompDefaultCS)과 일치해야합니다. 또한 C#은 대소 문자를 구분하며 public과 같은 액세스 한정자는 소문자 여야합니다.

변경이 : 여기에

Public WineCompDefault() 
{ 
    Load += Page_Load; 
} 

는 :

public WineCompDefaultCS() 
{ 
    Load += Page_Load; 
} 
+0

내가 할 때 - 'WineCompDefaultCS': 회원 이름은 그 동봉 된 타입과 같을 수 없다. –

1

당신은 클래스가 아닌 생성자를 이름. C#에서는 생성자가 클래스 이름과 일치해야합니다.

WineCompDefault이 WineCompDefaultCS

+0

나는 VS2005 내에서 이것을 실행하고있어서 CS와 VB 코드 파일을 가지고 있다는 것에 주목해야한다. 그게 허용됩니까? –

0

오래된 질문해야한다 - 그러나 이것은 지금까지 내가 찾을 수있는 것입니다 - 당신은 파일을 삭제하고 추가 -에게> 새 파일을 사용하여 다시 추가해야

(이 시간 선택 C#)을 붙여 넣은 다음 aspx를 붙여 넣습니다 (lang = "C#"및 CodeFile = "WineCompDefault.aspx.cs")

Visual Studio에서 페이지가 처음 변환 된 방식을 알 수없는 이유 또는 방법을 알 수 없습니다 - VS가이 정보를 저장하는 곳을 찾을 수 없었습니다.

도움이 되었기를 바랍니다.

-1

반환 명세서가 누락되었습니다.

+0

답을 좀 더 구체적으로 기재하십시오. –