没有在formCollection中获取值

时间:2014-07-08 09:15:15

标签: c# asp.net .net asp.net-mvc-4

我使用的形式如下:

<form action="@Url.Action("Complete_Evaluation","PP")" method="POST" id="frmObservationScoring">
    <input type="hidden" id="hdnaccountid" value="@ViewBag.AccountID" />
    <input type="hidden" id="hdnObservationID" value="@ViewBag.ObservationID" />
    <button onclick="return CompleteObservation();" class="buttoncss">Complete</button>
</form>

在控制器页面上,我尝试将其用作:

public ActionResult Complete_Evaluation(FormCollection fc)
{
    int AccountID = Request.Form["hdnaccountid"];

    int ObservationID = fc.GetValues("hdnObservationID"); 

    return view();
}

AccountID = Request.Form["hdnaccountid"];

是我尝试获取值和

的一种方法
ObservationID = fc.GetValues("hdnObservationID"); 

通过这两种方式获得空值。

我已经从我的代码中确定隐藏字段确实包含正确的值。

然后我如何从表单集合中获取值???

2 个答案:

答案 0 :(得分:4)

您应该使用id而不是使用name标识表单中的字段,因为该属性用于标识表单中的字段:

<input type="hidden" name="hdnaccountid" value="@ViewBag.AccountID" />

答案 1 :(得分:3)

您应该使用name而不是id。

<form action="@Url.Action("Complete_Evaluation","PP")" method="POST" id="frmObservationScoring">
<input type="hidden" name="hdnaccountid" value="@ViewBag.AccountID" />
<input type="hidden" name="hdnObservationID" value="@ViewBag.ObservationID" />
<button onclick="return CompleteObservation();" class="buttoncss">Complete</button>
</form>

hdnaccountid和hdnObservationID应该是输入名称。