我有这种方法用于过程"创建" asp.net中的表单:
public ActionResult Create([Bind(Include = "question_id, feedback_id")] feedback_questions feedback_questions)
在表单question_id
中,我从选择框中获取,但feedback_id
我希望隐藏价值。
我的表格:
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>feedback_questions</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.question_id, "choose question: ", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("question_id", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.question_id, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.feedback_id, "", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
// here I want hidden attribute for feedback_id, which will have value @ViewBag.feedback_id
@Html.ValidationMessageFor(model => model.question_id, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
我该怎么做?
答案 0 :(得分:1)
可能feedback_id
正在从另一个视图或布局传递给视图,但由于它在您的模型上,为什么不将其传递到Get操作的Create视图
public ActionResult Create()
{
return View(new feedback_questions() { feedback_id = ?? });
}
[HttpPost]
public ActionResult Create([Bind(Include = "question_id, feedback_id")] feedback_questions feedback_questions)
{
return View(feedback_questions);
}
然后你可以使用HiddenFor帮助
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.HiddenFor(model => model.feedback_id)
<div class="form-horizontal">
<h4>feedback_questions</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.question_id, "choose question: ", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("question_id", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.question_id, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
答案 1 :(得分:0)
您可以使用Html.Hidden("feedback_id", @ViewBag.feedback_id)
其中feedback_id
是隐藏输入的名称,该名称应与您要绑定的属性的名称相匹配。