我正在尝试将“Competencia”重新用作另一个页面中的局部视图。就像旧的Web控件一样。 当我作为“普通页面”运行时,输入
http://mydomain/Competencia
控件工作正常。当我使用is作为局部视图时,它不会渲染
@section Scripts {
<script src="@Url.Content("~/ViewScripts/Competencia/Index.js")" type="text/javascript"></script>
}
显然,找不到方法PopularGridArquivo里面吧。
以下是代码:
Competencia / Index.js
/// <reference path="Competencia.js" />
function PopularGridArquivo(mes) {
if (mes != "") {
$.ajax({
url: '/Competencia/ListarArquivosCompetencia',
type: 'post',
data: {
competencia: mes,
caminhoArquivo: $("#path").val()
},
success: function (html) {
$("#divDetalhe").html(html);
},
error: function (a, b, c) {
alert(c);
}
});
}
else {
$("#divdetalhe").html('');
}
}
CompetenciaController:
public class CompetenciaController : Controller
{
//
// GET: /Competencia/
public ActionResult Index()
{
Competencia compet = new Competencia();
compet.pathCompetencias = @"c:\temp\MUMPS\";
ViewBag.Competencia = compet;
return View(compet);
}
[HttpPost]
//public PartialViewResult ListarArquivosCompetencia(string competencia, string caminhoArquivo)
public PartialViewResult ListarArquivosCompetencia(string competencia, string caminhoArquivo)
{
IList<FileInfo> listaArquivos = null;
IList<CargaArquivos> listaCargaArquivos = new List<CargaArquivos>();
CargaArquivos oCargaArquivos = null;
//Popular combo de meses
//caminhoArquivo = System.Configuration.ConfigurationManager.AppSettings["FullPathExcelCalculoFechamentoMumps"].ToString();
//string caminhoArquivo = System.Configuration.ConfigurationManager.AppSettings["FullPathExcelCalculoFechamentoMumps"].ToString();
//DateTime data = new DateTime(DateTime.Now.Year, mes, 1);
caminhoArquivo = string.Format("{0}{1:MMyyyy}", caminhoArquivo, competencia);
listaArquivos = PastaArquivo.ListarArquivosDiretorio(caminhoArquivo);
if (listaArquivos.Count > 0)
{
foreach (var item in listaArquivos)
{
oCargaArquivos = new CargaArquivos();
oCargaArquivos.CaminhoArquivo = item.DirectoryName;
oCargaArquivos.NomeArquivo = item.Name;
listaCargaArquivos.Add(oCargaArquivos);
}
ViewBag.listaCargaArquivos = listaCargaArquivos;
}
//return PartialView("_DetalheCarga", ViewBag.listaCargaArquivos);
return PartialView("_DetalheCarga", ViewBag.listaCargaArquivos);
}
}
/Views/Competencia/Index.cshtml
@model IcatuValor.Models.Competencia
@section Scripts {
<script src="@Url.Content("~/ViewScripts/Competencia/Index.js")" type="text/javascript"></script>
}
<fieldset>
<div class="left-column">
@Html.Hidden("path", Model.pathCompetencias)
<label class="control-label"> Competência: @Html.DropDownList("ddMeses", new SelectList(Model.Competencias, "Key", "Value"), "Selecione", new { onChange = "JavaScript: PopularGridArquivo(this.value);", @class = "dropdown" })</label>
</div>
<div id="divDetalhe"></div>
@{
if (Model.arquivos != null)
{
Html.RenderPartial("_DetalheCarga", (IList<ViewModels.CargaArquivos>)ViewBag.listaCargaArquivos);
//Html.Partial("_DetalheCarga");
}
}
</fieldset>
Model Competencia:
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
namespace IcatuValor.Models
{
public class Competencia
{
public string pathCompetencias { get; set; }
public string pathSubDir { get; set; }
public IEnumerable<KeyValuePair<string, string>> Competencias
{
get
{
//Expressão regular para validar o nome da pasta como formato MMYYYY
var re = new Regex(@"^(0[1-9]|1[0-2])(19|2[0-1])\d{2}$");
DirectoryInfo dirInfo = new DirectoryInfo(pathCompetencias);
foreach (DirectoryInfo dir in dirInfo.GetDirectories())
{
//Somente entram na listagem diretórios que satisfizerem o formato MMYYYY
if (re.IsMatch(dir.Name))
yield return new KeyValuePair<string, string>
(
dir.Name,
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(Convert.ToInt16(dir.Name.Substring(0, 2))) + "/" + dir.Name.Substring(2)
);
}
}
}
public IList<DirectoryInfo> Subdiretorios
{
get
{
DirectoryInfo di = new DirectoryInfo(pathSubDir);
return di.GetDirectories();
}
}
public IList<FileInfo> arquivos
{
get;
set;
}
}
}
最后,另一个页面将使用“Competencia”:
Cargamumps / Index.cshtml
@section Scripts {
<script src="@Url.Content("~/ViewScripts/CargaMumps/Index.js")" type="text/javascript"></script>
}
<fieldset>
<legend>Carregar Arquivos</legend>
@*<div class="input-append date datepicker" data-date-format="dd/mm/yyyy">
<label class="lbl">Data início</label>
<input type="text" class="datePicker" name="DataInicio" id="DataInicio" style="width: auto">
</div>*@
<div class="input-append" id="divArquivos">
<div class="input-append">
<label class="control-label">LF02 (LF02AAAAMM.TXT):</label>
@Html.TextBox("filLF02", null, new { type = "file", @class = "input-large" })
</div>
<div class="input-append">
<label class="control-label">LF03 (LF03AAAAMM.TXT):</label>
@Html.TextBox("filLF03", null, new { type = "file", @class = "input-large" })
</div>
<div class="input-append">
<label class="control-label">Pendência Atual (PendentesAAAAMM.txt):</label>
@Html.TextBox("filPendentes", null, new { type = "file", @class = "input-large" })
</div>
<div class="input-append">
<label class="control-label">Pendência Anterior (PendentesAAAAMM.txt):</label>
@Html.TextBox("filPendentesAnterior", null, new { type = "file", @class = "input-large" })
</div>
<br />
<div class="input-append">
<button type="submit" class="btn btn-primary" id="btnSubmit">Executar Matemática</button>
</div>
</div>
</fieldset>
<fieldset>
@{
//RENDERS OK
Html.RenderPartial("~/Views/Competencia/Index.cshtml", (IcatuValor.Models.Competencia)ViewBag.Competencia);
}
</fieldset>
CargamumpsController.cs
using System.Web.Mvc;
using System;
using DAL.Repository;
using System.Data;
using System.Data.SqlClient;
using Excel = Microsoft.Office.Interop.Excel;
using System.Linq;
using System.Collections.Generic;
using System.IO;
using ViewModels;
using DAL;
using System.Text.RegularExpressions;
using System.Management;
using System.Text;
using System.Runtime.InteropServices;
using System.Net;
using System.Collections;
using System.Diagnostics;
using IcatuValor.Utils;
using IcatuValor.Models;
namespace IcatuValor.Controllers
{
public class CargaMumpsController : Controller
{
#region Actions
private Dictionary<string, string> dictionary = new Dictionary<string, string>();
public enum ELivro
{
LF02 = 1,
LF03 = 2,
Pendentes = 3,
PendentesAnterior = 4
}
public ActionResult Index()
{
//Pega o mês anterior ultimo fechamento
DateTime now = DateTime.Now.AddMonths(-1);
Competencia compet = new Competencia();
compet.pathCompetencias = @"c:\temp\MUMPS\";
ViewBag.Competencia = compet;
return View();
//ListarArquivosMes(now.Month);
//return View();
}
[HttpPost]
public string Upload(FormCollection form)
{
try
{
ProcedureRepository procedureRepository = new ProcedureRepository();
DataTable dtResultado = null;
double somaEmissoes, somaCancelamentos, somaPagos, somaPendente, somaPendenteAnterior;
Stopwatch st = new Stopwatch();
st.Start();
string pathLF02 = Utils.PastaArquivo.RetornarcaminhoArquivo(form["arquivo1"]);
string pathLF03 = Utils.PastaArquivo.RetornarcaminhoArquivo(form["arquivo2"]);
string pathPendentes = Utils.PastaArquivo.RetornarcaminhoArquivo(form["arquivo3"]);
string pathPendentesAnterior = Utils.PastaArquivo.RetornarcaminhoArquivo(form["arquivo4"]);
//Pegar mes atual e anterior com base no mes e ano dos nomes dos arquivos.
FileInfo fi = new FileInfo(pathLF02);
int ano, mes;
if (!int.TryParse(fi.Name.Substring(4, 4), out ano) || !int.TryParse(fi.Name.Substring(8, 2), out mes))
throw new Exception("O nome do arquivo LF02 deve estar no formato 'LF02AAAAMM.TXT'.\n\nAAAA - Ano com 4 digitos\nMM - Mês com 2 dígitos.");
DateTime dataFechamento = new DateTime(ano, mes, 1);
//DateTime dataFechamento = Convert.ToDateTime(form["dtInicio"]);
IDataReader dr;
#region LF02
if (!string.IsNullOrEmpty(pathLF02))
{
//dtResultado = Utils.PastaArquivo.CriarDataTable(pathLF02);
//AjustarColunas(dtResultado, ELivro.LF02);
dr = Utils.PastaArquivo.CriarOleDbDataReader(pathLF02);
procedureRepository.TruncarTabela("dbo.LivroMumps_LF02");
procedureRepository.ExecutarBulkInsert(dr, "dbo.LivroMumps_LF02");
//procedureRepository.ExecutarBulkInsert(dtResultado, "dbo.LivroMumps_LF02");
//dtResultado.Clear();
}
#endregion
#region LF03
if (!string.IsNullOrEmpty(pathLF03))
{
//dtResultado = Utils.PastaArquivo.CriarDataTable(pathLF03);
//AjustarColunas(dtResultado, ELivro.LF03);
//procedureRepository.TruncarTabela("dbo.LivroMumps_LF03");
//procedureRepository.ExecutarBulkInsert(dtResultado, "dbo.LivroMumps_LF03");
//dtResultado.Clear();
dr = Utils.PastaArquivo.CriarOleDbDataReader(pathLF03);
procedureRepository.TruncarTabela("dbo.LivroMumps_LF03");
procedureRepository.ExecutarBulkInsert(dr, "dbo.LivroMumps_LF03");
}
#endregion
#region Pendentes
if (!string.IsNullOrEmpty(pathPendentes))
{
//dtResultado = Utils.PastaArquivo.CriarDataTable(pathPendentes);
//AjustarColunas(dtResultado, ELivro.Pendentes);
//procedureRepository.TruncarTabela("dbo.LivroMumps_Pendentes");
//procedureRepository.ExecutarBulkInsert(dtResultado, "dbo.LivroMumps_Pendentes");
//dtResultado.Clear();
dr = Utils.PastaArquivo.CriarOleDbDataReader(pathPendentes);
procedureRepository.TruncarTabela("dbo.LivroMumps_Pendentes");
procedureRepository.ExecutarBulkInsert(dr, "dbo.LivroMumps_Pendentes");
}
#endregion
#region Pendentes Mês Anterior
if (!string.IsNullOrEmpty(pathPendentesAnterior))
{
//dtResultado = Utils.PastaArquivo.CriarDataTable(pathPendentesAnterior);
//AjustarColunas(dtResultado, ELivro.PendentesAnterior);
//procedureRepository.TruncarTabela("dbo.LivroMumps_Pendentes_Anterior");
//procedureRepository.ExecutarBulkInsert(dtResultado, "dbo.LivroMumps_Pendentes_Anterior");
//dtResultado.Clear();
dr = Utils.PastaArquivo.CriarOleDbDataReader(pathPendentesAnterior);
procedureRepository.TruncarTabela("dbo.LivroMumps_Pendentes_Anterior");
procedureRepository.ExecutarBulkInsert(dr, "dbo.LivroMumps_Pendentes_Anterior");
}
#endregion
dtResultado = procedureRepository.CalcularFechamentoMumps(dataFechamento, out somaEmissoes, out somaCancelamentos, out somaPagos, out somaPendente, out somaPendenteAnterior);
GerarPlanilhaExcel(dtResultado, dataFechamento, somaEmissoes, somaCancelamentos, somaPagos, somaPendente, somaPendenteAnterior);
//TODO - VERIFICAR NECESSIDADE DE ENVIAR E-MAIL.
//EnviarEmail(dataFechamento);
st.Stop();
return "Calculo executado com sucesso.\n\nTempo de execução: " + st.Elapsed.ToString();
}
catch (Exception ex)
{
PastaArquivo.EscreveLog(ex.ToString());
return ex.ToString();
}
}
private void EnviarEmail(DateTime dtCompetencia)
{
string emailPara = System.Configuration.ConfigurationManager.AppSettings["EmailPara"].ToString();
string mesAnoCompetencia = dtCompetencia.ToString("MM/yyyy");
string msgEmail = "Fechamento de prêmios (MUMPS) referente a " + mesAnoCompetencia + " concluído com sucesso!";
string assuntoEmail = "Fechamento " + mesAnoCompetencia + " - MUMPS";
string emailDe = System.Configuration.ConfigurationManager.AppSettings["EmailDe"].ToString();
if (!string.IsNullOrEmpty(emailPara) && !string.IsNullOrEmpty(emailDe))
Utils.Email.EnviarEmail(emailDe, emailPara, msgEmail + "\n \n", assuntoEmail);
}
private void GerarPlanilhaExcel(DataTable dtResultado, DateTime dataFechamento, double somaEmissoes, double somaCancelamentos, double somaPagos, double somaPendente, double somaPendenteAnterior)
{
Microsoft.Office.Interop.Excel.Application xlApp;
Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
//Pega o caminho onde será salvo o nosso arquivo
string caminhoArquivo = System.Configuration.ConfigurationManager.AppSettings["FullPathExcelCalculoFechamentoMumps"].ToString();
//Criar uma pasta para identificar o mes referencia
caminhoArquivo = string.Format("{0}{1:MMyyyy}", caminhoArquivo, dataFechamento);
Utils.PastaArquivo.VerificaExistenciaECriaPasta(caminhoArquivo);
string filename = string.Format(@"{0}\Pend_{1:MMyyyy}.xls", caminhoArquivo, dataFechamento);
// Verifica se existe algum arquivo com o mesmo nome e caminho de destino, se existir exclui
if (System.IO.File.Exists(filename)) System.IO.File.Delete(filename);
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(Server.MapPath("~/LivrosMumps/Template.xls"), 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, false, false, false);
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
xlWorkSheet.get_Range("A2").Value = string.Format("CONTROLE DE RELATÓRIOS - {0:MM/yyyy}", dataFechamento);
xlWorkSheet.get_Range("B6;B35;B67;B97;B128").Value = string.Format("{0:MM/yyyy}", dataFechamento.AddMonths(-1));
xlWorkSheet.get_Range("F6;F35;F67;F97;F128").Value = string.Format("{0:MM/yyyy}", dataFechamento);
InserirValores(dtResultado, xlWorkSheet);
xlWorkBook.SaveAs(filename, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(false, filename, misValue);
xlApp.Quit();
Utils.PastaArquivo.liberarObjetos(xlWorkSheet);
Utils.PastaArquivo.liberarObjetos(xlWorkBook);
Utils.PastaArquivo.liberarObjetos(xlApp);
}
/// <summary>
/// Insere os valores na planilha template
/// </summary>
/// <param name="dtResultado">Datatable com os valores do livro</param>
/// <param name="xlWorkSheet">Planilha</param>
private void InserirValores(DataTable dtResultado, Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet)
{
List<string> result;
ProcedureRepository pr = new ProcedureRepository();
foreach (DataRow dr in dtResultado.Rows)
{
result = pr.ObterValoresLivroMumps(Convert.ToInt16(dr["COD_RAMO"].ToString()), dr["SUCURSAL"].ToString());
if (result.Count > 0)
{
xlWorkSheet.get_Range(result[0]).Value = Convert.ToDouble(dr["PREMIO_PENDENTE_ANT"].ToString());
xlWorkSheet.get_Range(result[1]).Value = Convert.ToDouble(dr["PREMIO_EMITIDO"].ToString());
xlWorkSheet.get_Range(result[2]).Value = Convert.ToDouble(dr["PREMIO_CANCELADO"].ToString());
xlWorkSheet.get_Range(result[3]).Value = Convert.ToDouble(dr["PREMIO_PAGO"].ToString());
xlWorkSheet.get_Range(result[4]).Value = Convert.ToDouble(dr["PREMIO_PENDENTE"].ToString());
}
}
}
[HttpPost]
public ActionResult AbrirArquivoExcel(CargaArquivos cargaArquivos)
{
Utils.PastaArquivo.ExportarCSV(cargaArquivos.CaminhoArquivo + @"\" + cargaArquivos.NomeArquivo);
return View();
}
[HttpPost]
//public PartialViewResult ListarArquivosMes(int mes)
//{
// IList<FileInfo> listaArquivos = null;
// IList<CargaArquivos> listaCargaArquivos = new List<CargaArquivos>();
// CargaArquivos oCargaArquivos = null;
// //Popular combo de meses
// ViewBag.ListaMeses = Model.AllMonths;
// string caminhoArquivo = System.Configuration.ConfigurationManager.AppSettings["FullPathExcelCalculoFechamentoMumps"].ToString();
// DateTime data = new DateTime(DateTime.Now.Year, mes, 1);
// caminhoArquivo = string.Format("{0}{1:MMyyyy}", caminhoArquivo, data);
// listaArquivos = Utils.PastaArquivo.ListarArquivosDiretorio(caminhoArquivo);
// if (listaArquivos.Count > 0)
// {
// foreach (var item in listaArquivos)
// {
// oCargaArquivos = new CargaArquivos();
// oCargaArquivos.CaminhoArquivo = item.DirectoryName;
// oCargaArquivos.NomeArquivo = item.Name;
// listaCargaArquivos.Add(oCargaArquivos);
// }
// ViewBag.listaCargaArquivos = listaCargaArquivos;
// }
// return PartialView("_DetalheCarga", ViewBag.listaCargaArquivos);
//}
#endregion
#region Métodos privados
/// <summary>
/// Faz o de-para das colunas do TXT para as colunas da Base de Dados
/// </summary>
/// <param name="dtResultado"></param>
/// <param name="livro"></param>
private void AjustarColunas(DataTable dtResultado, ELivro livro)
{
dictionary.Clear();
switch (livro)
{
case ELivro.LF02:
LerDictionaryLF02();
break;
case ELivro.LF03:
LerDictionaryLF03();
break;
case ELivro.Pendentes:
case ELivro.PendentesAnterior:
LerDictionaryPendentes();
break;
}
foreach (DataColumn dc in dtResultado.Columns)
{
if (dictionary.FirstOrDefault(x => x.Key == dc.ColumnName).Value == null)
throw new Exception(string.Format("Coluna: {0} inválida no livro {1}.", dc.ColumnName, livro.ToString()));
dc.ColumnName = dictionary[dc.ColumnName];
}
}
private void LerDictionaryLF02()
{
dictionary.Add("sucursal", "Sucursal");
dictionary.Add("ramo", "Ramo");
dictionary.Add("data emissao", "DataEmissao");
dictionary.Add("numero da cobranca", "Numero_da_Cobranca");
dictionary.Add("numero da apolice", "Numero_da_Apolice");
dictionary.Add("segurado ou estipulante", "Segurado_ou_Estipulante");
dictionary.Add("inicio seguro", "Inicio_Seguro");
dictionary.Add("termino seguro", "Termino_Seguro");
dictionary.Add("parcela/fatura", "Parcela_Fatura");
dictionary.Add("premio da lider", "Premio_da_Lider");
dictionary.Add("premio das cosseguradoras", "Premio_das_Cosseguradoras");
dictionary.Add("custo de emissao", "Custo_de_Emissao");
dictionary.Add("iof", "IOF");
dictionary.Add("premio total", "Premio_Total");
dictionary.Add("risco", "Risco");
dictionary.Add("produto", "Produto");
dictionary.Add("data venc fat", "Data_Venc_Fat");
dictionary.Add("data pagto fat", "Data_Pagto_Fat");
dictionary.Add("data emissao_", "Data_Emissao_Cancelamento");
dictionary.Add("quantidade de vidas", "Quantidade_de_Vidas");
dictionary.Add("descricao da periodicidade de pagamento", "Descr_Period_Pagamento");
dictionary.Add("tipo de apolice", "Tipo_de_Apolice");
dictionary.Add("competencia inicial", "Competencia_Inicial");
dictionary.Add("competencia final", "Competencia_Final");
dictionary.Add("data da arrecadacao", "Data_da_Arrecadacao");
dictionary.Add("ipd", "IPD");
dictionary.Add("idade", "Idade");
dictionary.Add("data de nascimento", "Data_de_Nascimento");
dictionary.Add("codigo da periodicidade de pagamento", "Codigo_Period_Pagamento");
dictionary.Add("matricula", "Matricula");
dictionary.Add("taxa", "Taxa");
dictionary.Add("importancia segurada", "Importancia_Segurada");
dictionary.Add("canal", "Canal");
dictionary.Add("ccusto", "CCusto");
dictionary.Add("unidprod", "UnidProd");
dictionary.Add("corretagem", "Corretagem");
dictionary.Add("angariacao", "Angariacao");
dictionary.Add("pro-labore", "Pro_labore");
dictionary.Add("keyaccount", "KeyAccount");
}
private void LerDictionaryLF03()
{
dictionary.Add("sucursal", "Sucursal");
dictionary.Add("ramo", "Ramo");
dictionary.Add("data de emissão", "Data_Emissao");
dictionary.Add("data de emiss?", "Data_Emissao");
dictionary.Add("ordem da apolice", "Ordem_Apolice");
dictionary.Add("numero da apolice", "Numero_Apolice");
dictionary.Add("parcela", "Parcela");
dictionary.Add("segurado/estipulante", "Segurado_Estipulante");
dictionary.Add("produto", "Produto");
dictionary.Add("ini seguro", "InicioSeguro");
dictionary.Add("prem/juros", "Prem_Juros");
dictionary.Add("premio da lider", "PremioLider");
dictionary.Add("custo de emissao", "Custo_Emissao");
dictionary.Add("iof", "IOF");
dictionary.Add("premio total", "PremioTotal");
dictionary.Add("fatura", "Fatura");
dictionary.Add("a/r", "AR");
dictionary.Add("risco", "Risco");
dictionary.Add("dt ef cob", "Dt_Ef_Cob");
dictionary.Add("cpf/cnpj", "CPF_CNPJ");
dictionary.Add("fim seguro", "Fim_Seguro");
dictionary.Add("juros da lider", "Juros_Lider");
dictionary.Add("juros cossegur.", "Juros_Cosseguro");
dictionary.Add("corretagem", "Corretagem");
dictionary.Add("angariacao", "Angariacao");
dictionary.Add("pro-labore", "ProLabore");
dictionary.Add("comp inicial", "CompInicial");
}
private void LerDictionaryPendentes()
{
dictionary.Add("unidade produtora", "Unidade_Produtora");
dictionary.Add("ramo", "Ramo");
dictionary.Add("produto", "Produto");
dictionary.Add("data emissao", "Data_Emissao");
dictionary.Add("cobranca", "Cobranca");
dictionary.Add("apolice", "Apolice");
dictionary.Add("estipulante", "Estipulante");
dictionary.Add("vigencia", "Vigencia");
dictionary.Add("data vencimento", "Data_Vencimento");
dictionary.Add("valor bruto emitido", "Valor_Bruto_Emitido");
dictionary.Add("fatura", "Fatura");
dictionary.Add("cod ramo_produto", "Cod_Ramo_Produto");
dictionary.Add("descricao", "Descricao");
dictionary.Add("cod canal", "Cod_Canal");
dictionary.Add("descricao_", "Descricao_Canal");
dictionary.Add("sucursal", "Sucursal");
dictionary.Add("centro de custo", "CCusto");
dictionary.Add("corretagem", "Corretagem");
dictionary.Add("angariacao", "Angariacao");
dictionary.Add("prolabore", "Prolabore");
dictionary.Add("keyaccount", "KeyAccount");
dictionary.Add("vl_iof", "Vl_IOF");
}
#endregion
}
}
答案 0 :(得分:0)
如果我正确理解你,你有一个强类型的视图,你想在多个页面上使用(Cargamumps / Index和Competencia / Index.cshtml)。这两个索引页面共享相同的ViewModel类型Competencia。
如果是这种情况,我建议将共同内容提取到Shared / EditorTemplates或Shared / DisplayTemplates下的部分视图中。然后在两个索引视图中,调用EditorFor或DisplayFor。
Html.EditorFor(m => m);
或
Html.DisplayFor(m => m);
如果您的ViewData.Model是Competencia类型,它将找到正确的编辑器/显示模板并将其呈现为内联,并正确构造任何控件的id / name,以便模型绑定可以直接使用。