0

我的表单是动态的,可以提交用户想要的内容,我有一个处理页面来处理数据:

<form id="imageForm" method="post" action="WebFormDesignImageProcessor.aspx" target="imageCollector">
  <input id="image61472" name="image[61472]" value="" src="file:\\C:\Users\william.francis\Downloads\errmergerd.jpg" type="file">
  <input id="image61474" name="image[61474]" value="" src="file:\\C:\Users\william.francis\Downloads\william_linkedin_photo.jpg" type="file">
  <input id="data[image61472]" name="image61472data" value="61472" type="hidden">
  <input id="data[image61474]" name="image61474data" value="61474" type="hidden">
</form>

数据是动态的,表单可以根据用户输入而增长或缩小。我想要做的是将数据集配对在一起,并以某种方式迭代它。

for( i = 0; i < $_POST['data[]'].length; i++){
   byte[] img = $_POST['image['.i.']'];
   string pk = $_POST['image'.i.'data];
   //then query
}

我知道上面的示例是在 PHP 伪代码混合的东西中,但在 ASP.net 中寻找东西。

作为旁注:我可以将上面的名称设计更改为任何数字,只要数字在那里......因为这就是它的独特之处。这可能会容易得多

编辑:我可以将项目的名称命名为 idData[] 和 imgData[],但是当将其发送到服务器时,我不知道哪个项目引用了什么....因为没有链接....这是什么数字是为了。这是一个障碍,部分有助于解决问题

4

1 回答 1

2

我不知道你是否可以在 .NET 中做同样的事情;但是你可以使用 linq:

var rq = HttpContext.Current.Request;
var keys = rq.Form.AllKeys.Where(i => i.StartsWith("data") == true);

foreach (var key in keys)
{
    //check key, and process accordingly
}

类似的东西。请注意,名称是表单集合中可用的标识符,而不是 ID(很确定是这种情况)。

于 2012-09-06T16:39:02.603 回答