2012-05-28 5 views
1

이 컨트롤이있어 제대로 작동하지만 내 mvc3 프로젝트에서 사용해야합니다. 나는 길을 시도했지만 didnt 일. 누군가가 나를 도울 수 있기를 바랍니다.webform 컨트롤을 Razor 구문으로 변환

ASPX : 웹 양식 사용자 지정 컨트롤 코드 그게

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BoletoCS.aspx.cs" Inherits="BoletoCS" %> 
<%@ Register Assembly="Impactro.Cobranca" Namespace="Impactro.WebControls" TagPrefix="cob" %> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head id="Head1" runat="server"> 
    <title>Boleto</title> 
    <style type="text/css"> 
    .BolCell { font-size: 7pt; font-family: Verdana; } 
     .BolField { font-weight: bold; font-size: 12px; font-family: arial; } 
</style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <cob:BoletoWeb id="bltPag" runat="server" CssCell="BolCell" CssField="BolField" ></cob:BoletoWeb> 
    </form> 
</body> 
</html> 

코드 숨김 : WebControl에서

using System; 
using Impactro.Cobranca; 

public partial class BoletoCS : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     var cedente = new CedenteInfo 
     { 
      Cedente = "CURRICULO AUT ASS E CONS EM RH", 
      Banco = "341", 
      Agencia = "6157", 
      Conta = "30901-1", 
      Carteira = "175", 
      CNPJ = "14.765.492/0001-10" 
     }; 

     var sacado = new SacadoInfo { Sacado = "RODRIGO MANGUINHO" }; 

     var boleto = new BoletoInfo 
     { 
      NossoNumero = "44", 
      ValorDocumento = 99, 
      DataDocumento = DateTime.Now, 
      DataVencimento = DateTime.Now.AddMonths(1), 
      LocalPagamento = "PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO.", 
      Especie = Especies.RC, 
      Instrucoes = "NÃO ACEITAR PAGAMENTO APÓS O VENCIMENTO." 
     }; 

     bltPag.MakeBoleto(cedente, sacado, boleto); 
    } 
} 

이 사용자 지정 컨트롤 상속합니다. 기본적으로 테이블을 렌더링합니다. 나는 면도기로 이것을했지만 trynt 작업을 시도했다. Didnt는 어떤 오류도 가지지 않았다.

@using Impactro.WebControls 
@using Impactro.Cobranca 

@{ 
    var ci = new CedenteInfo 
    { 
     Cedente = "CURRICULO AUT ASS E CONS EM RH", 
     Banco = "341", 
     Agencia = "6157", 
     Conta = "30901-1", 
     Carteira = "175", 
     CNPJ = "14.765.492/0001-10" 
    }; 

    var si = new SacadoInfo { Sacado = "RODRIGO MANGUINHO" }; 

    var bi = new BoletoInfo 
    { 
     NossoNumero = "44", 
     ValorDocumento = 99, 
     DataDocumento = DateTime.Now, 
     DataVencimento = DateTime.Now.AddMonths(1), 
     LocalPagamento = "PAGÁVEL EM QUALQUER BANCO ATÉ O VENCIMENTO.", 
     Especie = Especies.RC, 
     Instrucoes = "NÃO ACEITAR PAGAMENTO APÓS O VENCIMENTO." 
    }; 

    var bw = new BoletoWeb 
    { 
     CssCell = "", 
     CssField = "", 
     ImagePath = Url.Content("~/images/bank-ticket") 
    }; 

    bw.MakeBoleto(ci, si, bi); 
} 
+0

내가 당신이라면이 특별한 경우에 ASPX보기를 사용합니다. 기회는 ASPX MVC 엔진에서 컨트롤이 올바르게 작동한다는 것입니다. 이벤트가없는 것 같습니다. 면도기에서는 아마 전혀 작동하지 않습니다. –

답변

0

ASP.NET MVC 응용 프로그램에서는 서버 측 컨트롤을 사용할 수 없습니다. Razor가있는 WebForms 뷰 엔진에서는 여전히 가능하지만 권장되지는 않지만 더 이상 가능하지 않습니다. 서버 측 컨트롤을 반드시 호출해야하는 경우 컨트롤을 호출해야하는 특정보기에 대해 WebForms 뷰 엔진을 사용해보십시오. 그러나이 컨트롤이 ViewState 및 PostBacks에 의존하면 작동하지 않습니다.

관련 문제