将对象数据传递给强类型视图后保留它

时间:2010-12-07 10:03:22

标签: asp.net-mvc

我有一个简单的ASP.NET MVC 3站点,从我的Controller出来的Edit Action我传递了一个Object(一个也由nhibernate映射的类)

编辑并单击保存后,我将其传递给[HTTPPost] decoraded Method,但所有属性都正确,摘录“id”属性,它的guid值等于NULL(00000000-0000-000 ...)。

使用域模型强烈输入我的视图是否有问题?可能问题是Id有:

{get; private set;}

???

提前致谢。

此处代码:

我的观点:

'@model fnh.DataModel.Kunde

@{
    View.Title = "EditKunde";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>EditKunde</h2>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Fields</legend>
        @Html.EditorFor(model => model._id)
        @Html.EditorFor(model => model._KdNr);

        <div class="editor-label">
            @Html.LabelFor(model => model._Name)
  `enter code here`      </div>
        <div class="editor-field">
            @Html.EditorFor(model => model._Name)
            @Html.ValidationMessageFor(model => model._Name)
        </div>

        <p>
            <input type="submit" value="Save" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")

我的控制器操作:

'public ActionResult EditKunde(Guid id)         {             return View(_kunden.GetKundeById(id));         }

    [HttpPost]
    public ActionResult EditKunde(Kunde kunde)
    {
        Ansprechpartner anp = new Ansprechpartner();
        anp._Name = "JustATry";
        kunde._Ansprechpartner.Add(anp);
     `enter code here`   _kunden.EditKunde(kunde);
        return View();
    }'

1 个答案:

答案 0 :(得分:0)

您是否在表单中添加了Id属性(可能是hidden字段)?

如果您发布Action代码(对于Edit Actions)和View。

,将会很有用