C#中FormCollection的使用方法简述

前两天根据需求需要做一个答题功能,但是根据不同的条件题目的个数是不同的,在开发中遇到了一个小问题,当我们使用form表单提交数据的时候,一般都会设置好固定的几个元素,例如最常见的账号、密码,但是如果是一些不确定的元素个数,我们在后台接收值的时候就会有问题,因为你不知道他有多少值而无法使用固定键来接收数据。

通过查阅资料,发现在C# MVC中有一个FormCollection类型的方法,它可以接收所有form表单提交过来的值,有这些值之后我们就可以通过循环它来取得所有数据。

实例代码如下:

[HttpPost]
public ActionResult AddDetile(FormCollection formCollection)
{
    List<ExamineWorkOrderDetailsEntity> examineWorkOrderDetails = new List<ExamineWorkOrderDetailsEntity>();
    for (int i = 1; i < formCollection.Count - 2; i++)
    {
        ExamineWorkOrderDetailsEntity examineWorkOrderDetailsEntity = new ExamineWorkOrderDetailsEntity();
        examineWorkOrderDetailsEntity.QuestionBankId = new Guid(formCollection.AllKeys[i]);
        examineWorkOrderDetailsEntity.ExamineOrder = new Guid(formCollection["Id"]);
        examineWorkOrderDetailsEntity.DisposeStatus = Convert.ToInt32(formCollection[formCollection.AllKeys[i]]);
        examineWorkOrderDetailsEntity.ExamineResult = formCollection["ExamineResult"];
                examineWorkOrderDetails.Add(examineWorkOrderDetailsEntity);
      }
    if (new ExamineWorkOrderDetailsService().InsertExamineQuestionBankDetail(examineWorkOrderDetails) > 0)
          return SuccessResult("提交成功");
       else
          return FailResult("提交失败!");
}

如果大家有更好地方法能实现这种需求,可以在评论区留言,我们一起交流 成长。

THE END