i have case:
[serializable] public class formbuscarcortereligacaoviewmodel { public cortereligacao cortereligacao { get; set; } } [serializable] public class ordensfinalizadasviewmodel : formbuscarcortereligacaoviewmodel { public manutencao manutencao { get; set; } public datetime? datainicio { get; set; } public datetime? datafim { get; set; } public ordensfinalizadasviewmodel() { } } so child here ordensfinalizadasviewmodel. have this:
@model projetopath.ordensfinalizadasviewmodel @using (html.beginform("buscar", "ordensfinalizadas", formmethod.post, new { id = "formbuscarordensfinalizadas" })) { @html.partial("~/views/shared/_formbusca.cshtml", model) } and controller:
[httppost] public actionresult buscar(ordensfinalizadasviewmodel modelordensfinalizadas) { //do stuff } what want have access cortereligacao of formbuscarcortereligacaoviewmodel. filled ordensfinalizadasviewmodel properties.
my view ~/views/shared/_formbusca.cshtml:
@using capgemini.telemetria.stcortes.domain.viewmodel.common @model capgemini.telemetria.stcortes.domain.viewmodel.common.formbuscarcortereligacaoviewmodel @{ var modelordensfinalizadas = model projectpath.ordensfinalizadasviewmodel; } <table class="tabela_filtro" style="border: 1px solid #ccc; margin-bottom: 5px; font-size: 11px" /> <thead> [...] </thead> <tbody> @if(modelordensfinalizadas != null) { <tr> <td> <label> data </label> </td> <td> @html.textboxfor(model => modelordensfinalizadas.datainicio, new { id = "datainicio", @class = "campodata", @placeholder = "data inicio" }) </td> [...] </tr> } <tr> <td> <label class="label_filtro"> cp </label> </td> <td> @html.editorfor(model => model.cortereligacao.corecp, new { style = "width: 20px;" }) <span class="validation-message">@html.validationmessagefor(model => model.cortereligacao.corecp)</span> </td> [...] <input type="image" src="~/content/img/icons/enviar.gif" value="buscar" title="buscar" /> </td> </tr> </tbody> is possible that? i'm kinda new on asp.net mvc. appreciate / sugestion.
regards
in view telling model type formbuscarcortereligacaoviewmodel. if change
@using capgemini.telemetria.stcortes.domain.viewmodel.common @model capgemini.telemetria.stcortes.domain.viewmodel.common.ordensfinalizadasviewmodel and delete section
@{ var modelordensfinalizadas = model projectpath.ordensfinalizadasviewmodel; } you should able use
@html.editorfor(model => model.cortereligacao.corecp, new { style = "width: 20px;" }) you need change textboxfor
@html.textboxfor(model => model.datainicio, new { id = "datainicio", @class = "campodata", @placeholder = "data inicio" }) have tried adding constructors models initialize child properties?
[serializable] public class formbuscarcortereligacaoviewmodel { public formbuscarcortereligacaoviewmodel() { cortereligacao = new cortereligacao(); } public cortereligacao cortereligacao { get; set; } } [serializable] public class ordensfinalizadasviewmodel : formbuscarcortereligacaoviewmodel { public manutencao manutencao { get; set; } public datetime? datainicio { get; set; } public datetime? datafim { get; set; } public ordensfinalizadasviewmodel() : base() { manutencao = new manutencao(); } }
Comments
Post a Comment