Fórum 2 models em uma mesma View do .Net MVC #605644
26/09/2019
0
public partial class PESSOA
{
//[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public PESSOA()
{
//this.PESSOAS_CONTATOS_CON = new HashSet<PESSOACONTATO>();
}
public int IDE_PESSOA { get; set; }
public string NOM_PESSOA { get; set; }
public string SIG_FISICA_JURIDICA { get; set; }
public string NUM_CNPJ { get; set; }
public string NOM_FANTASIA { get; set; }
public string NUM_CPF { get; set; }
public string NUM_RG { get; set; }
public Nullable<System.DateTime> DAT_NASCIMENTO { get; set; }
public string LIS_ESTADO_CIVIL { get; set; }
public string DES_PROFISSAO { get; set; }
public string STS_PESSOA { get; set; }
public Nullable<System.DateTime> DAT_INCLUSAO { get; set; }
public string NOM_LOGIN_INCLUSAO { get; set; }
public string NUM_IP_INCLUSAO { get; set; }
public virtual IList<PESSOACONTATO> PESSOAS_CONTATOS_CON { get; set; }
fiz o context e amarrei as tabelas.
public class Context : DbContext
{
public Context():base("PadraoEntities")
{
Database.Log = instrucao => System.Diagnostics.Debug.WriteLine(instrucao);
}
public DbSet<PESSOACONTATO> PESSOACONTATO { get; set; }
public DbSet<PESSOA> PESSOAS { get; set; }
}
}Fiz uma view de create para incluir a pessoa, ao incluir a pessoa mando para a tela de editar passando o id.
No fim da pagina de editar , coloco um botão que vai adicionar os campos dos contatos, porem a pagina de editar não carrega dando erro, na chamada do Model da tabela de contato, sabem o que fiz de errado ou deixei de fazer no meu programa?
--> ele nao reconhece Model.PESSOAS_CONTATOS_CON. e model.PESSOAS_CONTATOS_CON ?
<div class="col-md-12" id="div-contatos">
@for (int i = 0; i < Model.PESSOAS_CONTATOS_CON.Count;i++)
{
<div class="row">
<div class="col-md-1">
@Html.HiddenFor(model => model.PESSOAS_CONTATOS_CON[0].IDE_CONTATO_PESSOA, new { @class = "hid-id" })
@*<input type="number" name="PESSOAS_CONTATOS_CON[0].NUM_DDD" maxlength="2" placeholder="DDD" class="form-control txt-ddd" />*@
@Html.EditorFor(model => model.PESSOAS_CONTATOS_CON[0].NUM_DDD, new { htmlAttributes = new { @class = "form-control txt-ddd" } })
</div>
<div class="col-md-2">
@*<input type="text" name="PESSOAS_CONTATOS_CON[0].NUM_TELEFONE" placeholder="Número" class="form-control txt-numero" />*@
@Html.EditorFor(model => model.PESSOAS_CONTATOS_CON[0].NUM_TELEFONE, new { htmlAttributes = new { @class = "form-control txt-numero" } })
</div>
<div class="col-md-1">
@Html.DropDownListFor( model => model.PESSOAS_CONTATOS_CON[0].LIS_TIPO_TELEFONE,
(SelectList)ViewBag.ListaDeTiposDeTelefone,
new { @class = "form-control sel-tipo" })
@*<select name="PESSOAS_CONTATOS_CON[0].LIS_TIPO_TELEFONE" class="form-control sel-tip o">
<option value="0">Residencial</option>
<option value="1">Comercial</option>
<option value="2">Celular</option>
<option value="3">Recado</option>
</select>*@
</div>
<div class="col-md-2">
@*<input type="text" name="PESSOAS_CONTATOS_CON[0].DES_CONTATO" placeholder="Contato" class="form-control txt-contato" />*@
@Html.EditorFor(model => model.PESSOAS_CONTATOS_CON[0].DES_CONTATO, new { htmlAttributes = new { @class = "form-control txt-contato" } })
</div>
<div class="col-md-2">
@*<input type="text" name="PESSOAS_CONTATOS_CON[0].DES_EMAIL_CONTATO" placeholder="Email" class="form-control txt-email" />*@
@Html.EditorFor(model => model.PESSOAS_CONTATOS_CON[0].DES_EMAIL_CONTATO, new { htmlAttributes = new { @class = "form-control txt-email" } })
</div>
<div class="col-md-1">
@Html.DropDownListFor( model => model.PESSOAS_CONTATOS_CON[0].STS_CONTATO,
(SelectList)ViewBag.ListaDeStatus,
new { @class = "form-control sel-status " })
@*<select name="PESSOAS_CONTATOS_CON[0].STS_CONTATO" class="form-control sel-tipo">
<option value="A">ATIVO</option>
<option value="I">INATIVO</option>
</select>*@
</div>
<div class="col-md-2">
<button class="btn btn-danger btn-remover-telefone" data-id="@Model.PESSOAS_CONTATOS_CON[0].IDE_PESSOA">
<span class="glyphicon glyphicon-trash"></span>
</button>
</div>
</div>
}
</div>
</div>
André Milani
Curtir tópico
+ 0Post mais votado
08/10/2019
Cara, usando HTML puro não é uma boa alternativa quando se usa MVC (C#) recomendo usar o cshtml (usa a sintaxe Razor)
ficaria tipo assim:
@using (Html.BeginForm("<Nome da Action>", "<Nome da Controller>", FormMethod.Post, new { enctype = "multipart/form-data }}))
{
<div>
@Html.LabelFor(model => model.Endereco, htmlAttributes: new { @class = "control-label" })
@Html.EditFor(model => model.Endereco, new { htmlAttributes = new { @class = "form-control input" }})
<!-- E caso queira verificar se o campo foi preenchido acrescenta:
@Html.ValidationMessageFor(model => model.Endereco, "", new { @class = "text-danger" }) -->
</div>
<div>
@Html.LabelFor(model => model.EnderecoCobranca, "cobranca", htmlAttributes: new { @class = "control-label input" })
@{
var listTu = new List<SelectListItem> {
new SelectListItem { Value = "S", Text = "Sim" },
new SelectListItem { Value = "N", Text = "Não" },
};
}
@Html.DropDownListFor(model => model.EnderecoCobranca, new SelectList(listTu, "Value", "Text"), htmlAttributes: new { @class = "form-control input", data_bind = "value: EnderecoCobranca" })
<!-- @Html.ValidationMessageFor(model => model.EnderecoCobranca, "", new { @class = "text-danger" }) -->
</div>
}Stella Oliveira
Gostei + 1
Mais Posts
07/10/2019
Stella Oliveira
Gostei + 0
08/10/2019
André Milani
PORÉM ESTOU COM PROBLEMAS NA PASSAGEM DOS VALORES PARA INCLUSAO DOS DADOS.
Quando envio o valor de uma campo que é select ele passa o valor para ser gravado, porém quando o valor é do tipo text, ele não passa e não grava, saberia me dizer porque ?
' Tipo :<input type="text" name="PESSOAS_ENDERECOS_END[' + qtdEnderecos + ' ].DES_TIPO_ENDERECO" placeholder="Tipo" class="form-control txt-tipo" />' +
' Cobranca :<select name="PESSOAS_ENDERECOS_END[' + qtdEnderecos + '].STS_COBRANCA" placeholder="End.Cobranca" class="form-control sel-cobranca">' +
' <option value="S">SIM</option>' +
' <option value="N">NAO</option>' +
' </select>' +
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)