Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

BeginForm com atributos não definidos

Quando uma view é gerada pelo scaffolding do EF, ele usa o Html Helper e o BeginForm mas não mostra a os atributos Action, Controller ou Method (Como foi definido no curso de Razor, aula 4 ).

Como estes valores ficam definidos quando são omitidos?

@model CBMMSapp.Models.Auxiliares.Cidade

@{
    ViewBag.Title = "Cidade";
}

<h2>Alterar</h2>


@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>Cidade</h4>
        <hr />
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })
        @Html.HiddenFor(model => model.ID)

        <div class="form-group">
            @Html.LabelFor(model => model.Nome, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Nome, new { htmlAttributes = new { @class = "form-control" } })
                @Html.ValidationMessageFor(model => model.Nome, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Estado, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EnumDropDownListFor(model => model.Estado, htmlAttributes: new { @class = "form-control" })
                @Html.ValidationMessageFor(model => model.Estado, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Gravar" class="btn btn-default" />
            </div>
        </div>
    </div>
}

<div>
    @Html.ActionLink("Voltar a lista", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}
1 resposta
solução!

Jaqueline,

Quando essas informações não estão definidas o Asp.NET utiliza a mesma rota onde a sua view está criada para saber qual é a Action e o Controller e o Method é POST, já que se trata de um formulário onde serão enviados dados para o servidor.

Abraço.