문제

최신 버전의 ASP.NET MVC를 사용하면 더 이상 Code-BeeHind 클래스가있는 기본값이 없음을 알 수 있습니다.

지금 Code-Behind 클래스를보기 또는 부분보기에 추가하는 방법 ??

도움이 되었습니까?

해결책

부분보기에 코드-비만 페이지를 추가하는 방법

이것은 특히 까다 롭지 않은 것 같습니다. 이 답변은 부분적으로 작동했습니다 ViewUserControl 그러나 정상적인 MVC에도 동일하게 신청해야합니다 ViewPage 또한

  1. 컨벤션과 함께 새 클래스 파일을 추가하십시오 <view filename & extention>.cs (즉 view.ascx.cs)

  2. 추가하다 using System.Web.Mvc; 수업에

  3. 상속으로 클래스를 변경하십시오 ViewUserControl<>.
    public class Foo:ViewUserControl

  4. 뷰의 헤더에 다음을 추가하십시오.

    CodeBehind="View.ascx.cs" Inherits="Project.Views.Shared.View"

  5. 솔루션에서 파일을 복사하고 다시 드래그하여 두 사람을 다시 연관시킵니다. 이것은 VS 2010+ 및 MVC 2+에서 필요하지 않을 수 있습니다.

이것이 일반적인 MVC보기로 작동하려면 "ViewPage"에서 클래스를 상속하면됩니다.

다른 팁

왜 파일 뒤에 코드를 만들고 있는지 잘 모르겠지만 실제로 그렇게한다면 대신 표준 웹 포름 접근 방식을 사용하는 것을 고려할 것입니다.

또한 MVC의 기본 사항을 조사하여 페이지 뒤에서 페이지가 필요하지 않은 이유를 이해합니다.

또 다른 설명

ASP 사용 방법 : 코드 비밀 상태가없는 차트 (옵션 B)

알겠습니다. 솔루션을 확인했습니다. 여기에 주목해야 할 사항이 있습니다.

codebehind = "deve.ascx.cs"enherits = "project.viewshared.view"

귀하의 경우, 네임 스페이스 및 클래스 이름을 기반으로 "Project.views.shared.view"를 변경해야하며 코드 베어드의 컨트롤에 액세스하려면 코드-비만에서 선언을 수동으로 추가해야합니다. 제 경우에는 Gigasoft Proessential Control을 초기화해야합니다.

public class gigaTest2 : ViewUserControl
{
    protected global::Gigasoft.ProEssentials.PegoWeb PegoWeb1;
    protected void Page_Load(object sender, EventArgs e)
    {
        // Set Titles 
        PegoWeb1.PeString.MainTitle = "Hello ASP.NET";
        PegoWeb1.PeString.SubTitle = "";

        // One simple way of passing data, data binding also possible. //' 
        PegoWeb1.PeData.Subsets = 1;
        PegoWeb1.PeData.Points = 6;
        PegoWeb1.PeData.Y[0, 0] = 10;
        PegoWeb1.PeData.Y[0, 1] = 30;
        PegoWeb1.PeData.Y[0, 2] = 20;
        PegoWeb1.PeData.Y[0, 3] = 40;
        PegoWeb1.PeData.Y[0, 4] = 30;
        PegoWeb1.PeData.Y[0, 5] = 50;

        // Set style of chart and a few other properties //' 
        PegoWeb1.PePlot.Method = Gigasoft.ProEssentials.Enums.GraphPlottingMethod.Bar;
        PegoWeb1.PePlot.Option.GradientBars = 8;
        PegoWeb1.PeFont.FontSize = Gigasoft.ProEssentials.Enums.FontSize.Large;
    }

CodeBehind 파일을 ASPX 페이지에 추가하려면 여전히 MVC보기의 대상이 될 수 있지만 다음을 수행하십시오.

이름이 지정된보기 페이지 Index.aspx...

다음 코드를 바꾸십시오 ....

<%@ Page Inherits="System.Web.Mvc.ViewPage" %>

~와 함께

<%@ Page CodeFile="Index.aspx.vb" Inherits="Home_Index" %>

그런 다음 호출되는 파일을 만듭니다 Index.aspx.cs (또는 .vb).

partial class Home_Index : System.Web.Mvc.ViewPage
{...}

또는 VB

Partial Class Home_Index
    Inherits System.Web.Mvc.ViewPage
    ...
End Class

그게 다야. 특별한 것은 올바른 것을 사용하는 것입니다 Mvc.ViewPage 기본 클래스.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top