我正在构建一个表单,其中表单上的问题或输入数量因数据库中的值而异。表单上的每个输入都是一种无线电类型。标签的名称是动态的,并使用@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);
}
我也尝试过:
if (Request["prow.PollId"] == "B") {
int AnsB = row.ResultsB;
AnsB += 1;
db.Execute("UPDATE Results SET ResultsB=@0 WHERE ResultsId=@1", AnsB, prow.PollId);
}
答案 0 :(得分:0)
您想通过动态输入获得价值吗?如果是,您可以试试这个:
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来lopp。
使用nvc [item]或Request.Form [item]获取输入值。
您可以阅读这篇文章:c#: get values posted from a form