【问题标题】:Values not being updated in view视图中未更新的值
【发布时间】:2013-11-07 21:28:58
【问题描述】:

我有一个用于更新模型的剃刀视图。模型正确地传递给视图,但是当尝试将更改提交回控制器时,模型被原样传回。

//控制器/SaveLimit

  public ActionResult SaveLimit(Limit _limit)
        {
            _masterData.SaveLimit(_limit);

            return RedirectToAction("MasterData");
        }

//查看

@model Core.DataModel.Limit
@{
    ViewBag.Title = "Calculation Master";
    Layout = "~/Views/Shared/_MasterLayout.cshtml";
}

<h2 class="centerText">Create New Employee Limit</h2>
    <div id="tabs" style="margin-left: 20px; padding-left: 20px; width: 90%;">

        <table style="margin-left: 50px; width: 35%; margin: 0 auto;">
            @using (Html.BeginForm())
            {
                <tr>
                    <td class="spin">
                        @Html.LabelFor(model => model.Limit)

                    </td>
                    <td>
                        @Html.EditorFor(model => model.Limit)

                    </td>
                </tr>
                <tr>
                    <td>
                        @Html.LabelFor(model => model.StartDate)
                    </td>
                    <td>
                        @Html.EditorFor(model => model.StartDate)
                    </td>

                </tr>
                <tr>
                    <td>@Html.ActionLink("Save", "SaveLimit", Model, new {@class = "button"})</td>
                    <td>@Html.ActionLink("Cancel", "MasterData", null, new {@class = "button"})</td>
                </tr>
            }
        </table>

    </div>

【问题讨论】:

  • 请也包括呈现的 HTML,这也很有价值。
  • 另外,显示完整的 Razor 代码。例如,您是否在顶部有 @model 声明,如果有,请告诉我们它是什么。
  • @JeradRose 我已经更新了

标签: asp.net-mvc-3 c#-4.0 razor


【解决方案1】:

看起来它不起作用的原因是因为您没有提交按钮。普通链接不会提交表单(除非您添加一些 JavaScript)。将此添加到您的视图中:

@using (Html.BeginForm("SaveLimit", "yourcontroller"))
{
    // Rest of view
    <input type="submit" value="Save" />
}

【讨论】:

    【解决方案2】:

    我想您需要将所有这些都包装在 FormBeginForm 中。或者显示你的背景 javascript,如果你有的话。

    【讨论】:

    • 使用&lt;input type="submit" name="btnSubmit" id="SubmitButton" value="Save" /&gt; 而不是@Html.ActionLink("Save", "SaveLimit", Model, new {@class = "button"})
    【解决方案3】:

    您似乎缺少表单。将您的表单包裹在其中:

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

    【讨论】:

    • 这不起作用。我会更新我上面的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2016-04-08
    • 2017-07-18
    • 1970-01-01
    相关资源
    最近更新 更多