キーにintがなく、キーに文字列があるアイテムの配列が入っている投稿があります。例:(投稿から)
-----------------------------3805226668837
Content-Disposition: form-data; name="pool[Abelson_2834.jpg]"
general_pool
-----------------------------3805226668837
Content-Disposition: form-data; name="pool_place[Abelson_2834.jpg]"
1
-----------------------------3805226668837
Content-Disposition: form-data; name="mediatype[Abelson_2834.jpg]"
3
-----------------------------3805226668837
Content-Disposition: form-data; name="pool[Abelson_2852.jpg]"
general_pool
-----------------------------3805226668837
Content-Disposition: form-data; name="pool_place[Abelson_2852.jpg]"
1
-----------------------------3805226668837
Content-Disposition: form-data; name="mediatype[Abelson_2852.jpg]"
3
-----------------------------3805226668837
Content-Disposition: form-data; name="pool[Abelson_3160-1.jpg]"
general_pool
-----------------------------3805226668837
Content-Disposition: form-data; name="pool_place[Abelson_3160-1.jpg]"
1
-----------------------------3805226668837
Content-Disposition: form-data; name="mediatype[Abelson_3160-1.jpg]"
3
-----------------------------3805226668837
Content-Disposition: form-data; name="files[]"; filename="Abelson_2834.jpg"
Content-Type: image/jpeg
したがって、「プール」はキーが名前として設定された配列であり、その値は文字列として設定されます。
基本的にこのような形から
<tbody data-target="#modal-gallery" data-toggle="modal-gallery" class="files">
<tr class="template-upload fade in">
<td class="preview"><span class="fade in">
<canvas width="80" height="54"></canvas>
</span></td>
<td class="name"><span>Abelson_2834.jpg</span></td>
<td class="size"><span>4.17 MB</span></td>
<td><div aria-valuenow="0" aria-valuemax="100" aria-valuemin="0" role="progressbar" class="progress progress-success progress-striped active">
<div style="width:0%;" class="bar"></div>
</div>
<div="forminputs"> <span style="display:inline-block;float:left;">Choose a pool:
<select style="display:inline-block;" name="pool[Abelson_2834.jpg]">
<option selected="selected" value="general_pool">General</option>
<option value="place">Places</option>
<option value="geo">Geometrics</option>
<option value="ads">Advertisment</option>
</select>
<span class="pool_place"> <br>
Choose a pool:
<select style="display:inline-block;" name="pool_place[Abelson_2834.jpg]">
<option selected="selected" value="1">place 1</option>
<option value="2">Places</option>
<option value="3">Geometrics</option>
<option value="4">Advertisment</option>
</select>
</span> </span> <span style="display:inline-block;float:left;">Choose Media type:
<select style="display:inline-block;" name="mediatype[Abelson_2834.jpg]">
<option value="1">marker_icon</option>
<option value="2">user_image</option>
<option selected="selected" value="3">general_image</option>
<option value="4">general_video</option>
<option value="5">google_static_map</option>
</select>
</span> </div="forminputs"></td>
<td class="start"><button class="btn btn-primary"> <i class="icon-upload icon-white"></i> <span>Start</span> </button></td>
<td class="cancel"><button class="btn btn-warning"> <i class="icon-ban-circle icon-white"></i> <span>Cancel</span> </button></td>
</tr>
<tr class="template-upload fade in">
<td class="preview"><span class="fade in">
<canvas width="80" height="54"></canvas>
</span></td>
<td class="name"><span>Abelson_2852.jpg</span></td>
<td class="size"><span>3.17 MB</span></td>
<td><div aria-valuenow="0" aria-valuemax="100" aria-valuemin="0" role="progressbar" class="progress progress-success progress-striped active">
<div style="width:0%;" class="bar"></div>
</div>
<div="forminputs"> <span style="display:inline-block;float:left;">Choose a pool:
<select style="display:inline-block;" name="pool[Abelson_2852.jpg]">
<option selected="selected" value="general_pool">General</option>
<option value="place">Places</option>
<option value="geo">Geometrics</option>
<option value="ads">Advertisment</option>
</select>
<span class="pool_place"> <br>
Choose a pool:
<select style="display:inline-block;" name="pool_place[Abelson_2852.jpg]">
<option selected="selected" value="1">place 1</option>
<option value="2">Places</option>
<option value="3">Geometrics</option>
<option value="4">Advertisment</option>
</select>
</span> </span> <span style="display:inline-block;float:left;">Choose Media type:
<select style="display:inline-block;" name="mediatype[Abelson_2852.jpg]">
<option value="1">marker_icon</option>
<option value="2">user_image</option>
<option selected="selected" value="3">general_image</option>
<option value="4">general_video</option>
<option value="5">google_static_map</option>
</select>
</span> </div="forminputs"></td>
<td class="start"><button class="btn btn-primary"> <i class="icon-upload icon-white"></i> <span>Start</span> </button></td>
<td class="cancel"><button class="btn btn-warning"> <i class="icon-ban-circle icon-white"></i> <span>Cancel</span> </button></td>
</tr>
<tr class="template-upload fade in">
<td class="preview"><span class="fade in">
<canvas width="80" height="54"></canvas>
</span></td>
<td class="name"><span>Abelson_3160-1.jpg</span></td>
<td class="size"><span>3.00 MB</span></td>
<td><div aria-valuenow="0" aria-valuemax="100" aria-valuemin="0" role="progressbar" class="progress progress-success progress-striped active">
<div style="width:0%;" class="bar"></div>
</div>
<div="forminputs"> <span style="display:inline-block;float:left;">Choose a pool:
<select style="display:inline-block;" name="pool[Abelson_3160-1.jpg]">
<option selected="selected" value="general_pool">General</option>
<option value="place">Places</option>
<option value="geo">Geometrics</option>
<option value="ads">Advertisment</option>
</select>
<span class="pool_place"> <br>
Choose a pool:
<select style="display:inline-block;" name="pool_place[Abelson_3160-1.jpg]">
<option selected="selected" value="1">place 1</option>
<option value="2">Places</option>
<option value="3">Geometrics</option>
<option value="4">Advertisment</option>
</select>
</span> </span> <span style="display:inline-block;float:left;">Choose Media type:
<select style="display:inline-block;" name="mediatype[Abelson_3160-1.jpg]">
<option value="1">marker_icon</option>
<option value="2">user_image</option>
<option selected="selected" value="3">general_image</option>
<option value="4">general_video</option>
<option value="5">google_static_map</option>
</select>
</span> </div="forminputs"></td>
<td class="start"><button class="btn btn-primary"> <i class="icon-upload icon-white"></i> <span>Start</span> </button></td>
<td class="cancel"><button class="btn btn-warning"> <i class="icon-ban-circle icon-white"></i> <span>Cancel</span> </button></td>
</tr>
</tbody>
情報を引き出すためにいくつかの方法を試しましたが、要するに、キーが何であるかを知ることができなければならないので、それをテストして値を得ていることがわかります. 私は投稿データに選択肢がありません。それはそのままです。.ToDictionary のようなものは使用できません。.net 2.0 で立ち往生しているからです。
これは、KeyValuePair だけで正しい情報を取得しようとする試みです。はい、それは間違っていますが、少なくとも、何が必要なのかについてのアイデアが得られることを願っています。
media.file_name = "Abelson_2834.jpg"; // test value to pin to
int type = 3;
// NOTE I KNOW KeyValuePair IS NOT RIGHT.. looking for right way thou
foreach (KeyValuePair<string, string> obj in Request.Params["mediatype"])
{
if( obj.Key == media.file_name ){
type = int.Parse(obj.Value);
// value of type should be 3 since there is a
// Request.Params["mediatype"]["Abelson_2834.jpg"] but since you can't call keys
// by name it thnk it should be an int
// like Request.Params["mediatype"][0]
}
}
media.type = ActiveRecordBase<media_types>.Find(type);
ActiveRecordMediator<media_repo>.Save(media);
誰でもこれを機能させる方法について考えがありますか? String[] を Dictionary または Hashtable に変換するのがコツだと思いますが、まだ機能していません。
お手伝いありがとう。乾杯、jeremyBass
サイドノート これがphpだったら、私は行かなければならないでしょう
$value = $_POST["mediatype"]["Abelson_2834.jpg"];
そして、それで問題が解決するのであれば、必要な価値があります。