Catch Not Typed Control in Tip View

1

I need to get the elements that I'm not creating from the model, such as input with the "typeParticular" id in the page post.

How can I get it in the ActionResult method since the elements are not created from the model that is typed in the view ?

Below the model:

public class BuscarProfissionalModel
{
    public bool tipoParticular { get; set; }
    public bool tipoConvenio { get; set; }
    public string nomeTipoConvenio { get; set; }
    public bool tipoDomiciliar { get; set; }
    public bool tipoLocal { get; set; }
    public string Nome { get; set; }
    public string Localizacao { get; set; }
    public string TipoAtendimento { get; set; }
}

Below the view:

@using (Html.BeginForm("Buscar", "BuscarProfissional"))
        {
            <div class="col-xs-12 busca3-content" id="busca3-content">
                <span>Buque por </span>@Html.TextBoxFor(m => m.Nome, new { id = "nomeProfissional", name = "nomeProfissional", placeholder = "Nome, Especialidade, Interesses" }) ;@*<input type="text" id="nomeProfissional" name="nomeProfissional" placeholder="Nome, Especialidade, Interesses">*@
                <span>em </span>@Html.TextBoxFor(m => m.Localizacao, new { id = "localizacaoProfissional", name = "localizacaoProfissional", placeholder = "Localização (Cidade, Estado, Endereço etc)" }); @*<input type="text" id="localizacaoProfissional" name="localizacaoProfissional" placeholder="Localização (Cidade, Estado, Endereço etc)">*@
                <span>que atenda </span>@Html.TextBoxFor(m => m.TipoAtendimento, new { id = "home-tipo-atendimento", name = "home-tipo-atendimento", placeholder = "Tipo de Atedimento: Particular, Comvênios, Domiciliar" }); @*<input type="text" placeholder="Tipo de Atedimento: Particular, Comvênios, Domiciliar" id="home-tipo-atendimento" name="home-tipo-atendimento">*@

                <!-- dropdown -->
                <div class="input-drop" id="home-input-drop" style="display: none;">


                    <input type="checkbox" value="Particular" id="tipoParticular" name="tipoParticular">Particular<br>
                    <input type="checkbox" value="next" id="tipoConvenio" name="tipoConvenio">Convênio<input id="home-input-drop-convenio" type="text"><br>
                    <input type="checkbox" value="Domiciliar" id="tipoDomiciliar" name="tipoDomiciliar">Domiciliar<br>
                    <input type="checkbox" value="Local próprio" id="tipoLocal" name="tipoLocal">Local Próprio<br>
                </div>

                <div class="col-xs-12 busca3-content">
                    <input type="submit" id="home-input-button" value="Buscar"/>
                </div>

            </div>
        }

Thank you in advance.

Hugs.

    
asked by anonymous 14.08.2015 / 20:03

1 answer

1

I would trade booleans for a Enum :

public enum TipoAtendimento 
{
    Particular,
    Convenio,
    Domiciliar,
    LocalProprio
}

public class BuscarProfissionalModel
{
    public string NomeTipoConvenio { get; set; }
    public string Nome { get; set; }
    public string Localizacao { get; set; }
    public TipoAtendimento TipoAtendimento { get; set; }
}

View :

    @using (Html.BeginForm("Buscar", "BuscarProfissional"))
    {
        <div class="col-xs-12 busca3-content" id="busca3-content">
            <span>Buque por </span>@Html.TextBoxFor(m => m.Nome, new { id = "nomeProfissional", name = "nomeProfissional", placeholder = "Nome, Especialidade, Interesses" }) ;@*<input type="text" id="nomeProfissional" name="nomeProfissional" placeholder="Nome, Especialidade, Interesses">*@
            <span>em </span>@Html.TextBoxFor(m => m.Localizacao, new { id = "localizacaoProfissional", name = "localizacaoProfissional", placeholder = "Localização (Cidade, Estado, Endereço etc)" }); @*<input type="text" id="localizacaoProfissional" name="localizacaoProfissional" placeholder="Localização (Cidade, Estado, Endereço etc)">*@
            <span>que atenda </span>@Html.TextBoxFor(m => m.TipoAtendimento, new { id = "home-tipo-atendimento", name = "home-tipo-atendimento", placeholder = "Tipo de Atedimento: Particular, Comvênios, Domiciliar" }); @*<input type="text" placeholder="Tipo de Atedimento: Particular, Comvênios, Domiciliar" id="home-tipo-atendimento" name="home-tipo-atendimento">*@

            <div class="input-drop" id="home-input-drop" style="display: none;">
            @Html.RadioButtonFor(model => model.TipoAtendimento, TipoAtendimento.Particular)
            @Html.RadioButtonFor(model => model.TipoAtendimento, TipoAtendimento.Convenio)
            @Html.RadioButtonFor(model => model.TipoAtendimento, TipoAtendimento.Domiciliar)
            @Html.RadioButtonFor(model => model.TipoAtendimento, TipoAtendimento.LocalProprio)
            </div>

            <div class="col-xs-12 busca3-content">
                <input type="submit" id="home-input-button" value="Buscar"/>
            </div>

        </div>
    }
    
14.08.2015 / 23:51