如何向View上的Model添加数据(Full Model转到Controller)?

时间:2013-12-04 09:16:33

标签: asp.net asp.net-mvc asp.net-mvc-4 razor

我是ASP.NET MVC的新手,我需要你的帮助。 我有这个:

@using (Html.BeginForm())
{
<fieldset>
    @Html.ValidationSummary(true)
    @Html.AntiForgeryToken()
    <br />
    <p>Answer: </p>
    @Html.TextAreaFor(model => model.Content, 6, 80, null);
    @Html.ValidationMessageFor(model => model.Content)
    <br />
    <input type="submit" value="Send Answer" />
</fieldset>
}

这是一个部分视图,它有一个表单,并且模型数据输入到控制器的输入:submit,标准MVC。

但是当用户点击提交时,我想发送一些不是用户输入的信息,它在模型和视图中,如thread_id,user_id,所以我可以形成模型发送给Controller来填充数据库。

    public int idAnswer { get; set; }
    public int idThread{ get; set; }
    public string Content { get; set; }
    public int idProfile{ get; set; }
    public System.DateTime dtAnswer{ get; set; }

    public virtual tb_Profile tb_Profile { get; set; }
    public virtual tb_Thread tb_Thread { get; set; }

这是我的模型,是的,它是由Entity自动生成的,所以即使我有idThread,idProfile,我也会填充tb_Profile和tb_Thread。

我该怎么做?

对不起我的英文:)

1 个答案:

答案 0 :(得分:1)

如果输入在模型中,请将其作为隐藏字段添加到模型内部的视图中:

@Html.HiddenFor(m => m.thread_id)

用户不会看到它,也无法操作它,但它将与表单的其余部分一起发布。