1

私はこのコントロールを手に入れました、そしてそれはうまく働きます、しかし私は私のmvc3プロジェクトでそれを使う必要があります。私は自分のやり方を試しましたが、うまくいきませんでした。誰かが私を助けてくれることを願っています。これがWebフォームのカスタム制御コードです。

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>

CodeBehind:

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);
    }
}

このカスタムコントロールはwebcontrolから継承します。基本的にテーブルをレンダリングします。Razorでこれを実行しようとしましたが、機能しませんでした。エラーもありませんでした。

@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);
}
4

1 に答える 1

1

ASP.NET MVC アプリケーションではサーバー側コントロールを使用できません。これは、Razor を使用した WebForms ビュー エンジンではまだ可能でしたが (推奨されていません)、もはや不可能です。サーバー側のコントロールを呼び出す必要がある場合は、コントロールを呼び出す必要がある特定のビューに対して WebForms ビュー エンジンを使用してみてください。ただし、このコントロールが ViewState と PostBacks に依存している場合は機能しません。

于 2012-05-29T06:31:16.120 に答える