如何将数组传递给控制器​​?

时间:2011-12-02 16:59:13

标签: asp.net-mvc-3 controller arraylist

我有表格

@using (Html.BeginForm("Create", "StoreManager"))
{
    @Html.ValidationSummary(true)
//etc..
}

用户将图像上传到服务器,当上传完成后,立即创建缩略图图像并以此格式动态添加到表单中:

<div class="gridItem">
  <div><img src="image1.jpg"  class="gridThumb" /></div>
  <div class="gridTitle">
  <a href="/Store/del?image1.jpg" class="ui-icon ui-icon-trash"></a>
  </div>
</div>
<div class="gridItem">
  <div><img src="image2.jpg"  class="gridThumb" /></div>
  <div class="gridTitle">
  <a href="/Store/del?image2.jpg" class="ui-icon ui-icon-trash"></a>
  </div>
</div>

我的问题是:如何在控制器操作中从此网格获取所有图像文件的列表? 我想在模型中保存此列表。

1 个答案:

答案 0 :(得分:2)

我想你想要保存图像位置而不是二进制图像本身。

让我们说你的控制器动作看起来像这样

[HttpPost]
public ActionResult(string[] images)
{
   // do something in images
}

我不确定你是如何生成你的html的,但你也可以为每个图像添加一个隐藏字段,如下所示:

<input type="hidden" name="images[0]" value="/Store/del?image1.jpg" />
<input type="hidden" name="images[1]" value="/Store/del?image2.jpg" />

然后,当您发布表单时,您应该收到有关操作参数的数组。

如果您有其他要求,请告诉我。