1

我想从我的模型中获取一些信息,编辑一个变量并将其传递给 post 函数。这是我的模型:

public class TaskInputModel
{
    [Required]
    [Display(Name = "Input Value")]
    public decimal Value { get; set; }

    public long InputId { get; set; }

    public MetriceModelTaskShedule[] Tasks;
}

这是我的 Index.cshtml:

@model MetriceWeb.Models.TaskInputModel

@foreach (var item in Model.Tasks)
    {

        using (Html.BeginForm())
        {
@Html.ValidationSummary(true)
<fieldset>
    <div class="editor-label">
        @Html.LabelFor(model => item.Task)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model =>  model.Value)
        @Html.ValidationMessageFor(model =>model.Value)
    </div>

    @Html.Hidden("Model.InputId", Model.InputId)

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

我收到这样的:

[HttpPost]
    public ActionResult Index(TaskInputModel model)
    {
        ...
    }

当我只提交 InputId 有一些值时,值总是 0。当我删除行时:@Html.Hidden("Model.InputId", Model.InputId) 值是好的,但我不知道如何接收 InputId . 你能告诉我我该怎么做吗?

4

1 回答 1

0

问题解决了。我只需要使用 @Html.Hidden("InputId", Model.InputId) 而不是 @Html.Hidden("Model.InputId", Model.InputId)

于 2012-11-12T20:06:08.497 回答