实体“ Bond”具有一个名为“ Kauf”的属性,它是另一个实体(“ Price” = date,add byBy,value)。

现在,在创建债券视图(=购买)时,需要输入价格值。标准的“创建视图”没有用于输入价格数据的字段。

如果我加

    <div class="editor-field">
        @Html.EditorFor(model => model.Kauf.Value)
        @Html.ValidationMessageFor(model => model.Kauf.Value)
    </div>


从视图来看,那么我将如何在控制器中(通常仅接受实体“ Bond”作为参数的情况)中掌握该值?

    [HttpPost]
    public ActionResult Create(Bond position)


尝试通过访问

    position.Kauf.Value


我猜只是会引用bond中的(尚未)空属性“ Kauf”。感谢您的输入!

最佳答案

发布作为答案,因为此评论太久了。我尝试重新创建,并且所有操作都在这里进行,所以我想我会发布我所拥有的内容,以便您可以将自己与正在做的事情进行比较:

我假设Kauf.Value在这里是一个字符串...

控制者

[HttpGet]
public ActionResult Create()
{
    // Setup model before passing in
    var model = new Bond();
    return View(model);
}

[HttpPost]
public ActionResult Create(Bond position)
{
    string theValue = position.Kauf.Value;
    // At this point "theValue" contains a valid item
    return View(position);
}


视图

@model MvcExperiments.Models.Bond

@using(@Html.BeginForm())
{
    <div class="editor-field">
        @Html.EditorFor(model => model.Kauf.Value)
        @Html.ValidationMessageFor(model => model.Kauf.Value)
    </div>

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

关于c# - MVC 4-从View传递数据=> Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16817743/

10-10 22:35