1

我需要在我的控制器中保存用户的内联版本的操作结果。我使用http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx的源成功地从 edmx 创建了列表,但是当我保存时我不知道该怎么做与行动结果。

查看我的 cstml:

    @model List<SCP___AgroGerente.Models.VeiculoFazendaUsuario>

@{
    ViewBag.Title = "Index";
}

<div class="Cabecalho">
    <div class="left">
        <h2>Lista de Veículos</h2>
        <h4>Aqui você cadastra as Veículos</h4>
    </div>
    <div class="right" style="padding-top: 28px">

        @Html.ActionLink(" ", "Create", string.Empty, new { @class = "icone new" })

    </div>
    <div class="clear"></div>

    <hr />
</div>
<table class="tabelaFormatada">
    <tr>
        <th>Especificação
        </th>
    </tr>
    @using (Html.BeginForm())
    {
        for (int i = 0; i < Model.Count(); i++)
        {

        <tr>
            <td>
                @Html.EditorFor(m => Model[i].VeiculoEspecificacao);
            </td>
        </tr>
        }
        <p>
            <input type="submit" value="Salvar Alterações" />
        </p> }
</table>
4

1 回答 1

0

您说您要更新列表,但您的操作链接指向创建方法。如果您正在执行更新,则需要将 actionlink 的操作指向执行更新的方法。如果你需要一个例子,请告诉我。

您需要在控制器的 POST 方法中返回模型。如果您保留默认的脚手架,它应该已经存在。

它应该看起来像这样......

    public ActionResult Create()
    {
        return View();
    }

    //
    // POST: /booking/Create

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create(booking booking)
    {
        if (ModelState.IsValid)
        {
            db.bookings.Add(booking);
            db.SaveChanges();
        }

        return View(booking);
    }

第一种方法是 GET 方法。第二个是 POST 方法,当您点击提交按钮时将调用该方法。

第二种方法返回带有模型对象的默认视图。如果我想返回一个不同的视图,我会像这样指定那个视图......

return View("_myotherview", booking);

“内联编辑”是什么意思?

于 2013-10-27T14:33:27.440 回答