如何使用动态变量请求[""] ?请求(“@Variable")

本文关键字:quot 请求 @Variable 何使用 动态 变量 | 更新日期: 2023-09-27 17:54:59

我正在构建一个表单,其中问题的数量或表单上的输入根据数据库中的值而变化。表单上的每个输入都是一个单选类型。标记的名称是动态的,使用@db.row.questionID从数据库加载,它看起来像:<span name=@id>,在请求的任何查询中都等于1。

我的问题是,我写了表单使用post,我想把值提交回一个单独的数据库,但我不知道如何请求多个值,基于查询动态变化。

我写的示例代码,它没有给我任何错误,但它也没有给我任何结果。

    foreach(var prow in poll){
        var Question = prow.PollId;
        if (Request.Form["@prow.PollId"] == "A") {                
            int AnsA = row.ResultsA;
            AnsA = AnsA + 1;
            db.Execute("UPDATE Results SET ResultsA=@0 WHERE ResultsId=@1", AnsA, Question);
        }

i have also try:

    if (Request["prow.PollId"] == "B") {
            int AnsB = row.ResultsB;
            AnsB += 1;
            db.Execute("UPDATE Results SET ResultsB=@0 WHERE ResultsId=@1", AnsB, prow.PollId);
        }

如何使用动态变量请求[""] ?请求(“@Variable")

您想在表单中获得动态输入的值吗?如果是,你可以试试:

 NameValueCollection nvc = Request.Form;
 foreach (var item in Request.Form.AllKeys)
 {
        //do something you want.
        // Examble : if(item == "A")// item will return name of input
        // Note: nvc[item] return value of input
 }

更新:

Request.Form。AllKeys将返回表单中所有的输入名称

我们使用foreach遍历输入名称的集合。

使用nvc[item]或Request。Form[item]获取输入值

c#:从表单中获取值