我的视图中有一个包含2列的表格 我的程序查找文件夹中的文件数,并使用名称填充第二列,每行一个 如果填充了右列,则第一列包含复选框。
如何在HttpPost
之后访问控制器中的这些复选框和文件名?
(文件数量不固定,因此复选框的数量也不固定)
如果存在特定文件,我需要在之后运行存储过程。
模型
public class ImportFiles
{
public string FileName;
public bool FileSelected { get; set; }
}
控制器
[HttpGet]
public ActionResult ImportFiles()
{
string folderpath = @"C:\Users\uvaish\Documents\Visual Studio 2010\Projects\MVCDemo\MVCDemo\Models"; //path
string filename = "*";
string[] fileList = System.IO.Directory.GetFiles(folderpath,filename);//getting the file names from the folder as an array
List<ImportFiles> inputFiles = new List<ImportFiles>(fileList.Length);//making a list of same number of elements as the number of files
foreach (string str in fileList)
{
ImportFiles inputFile = new ImportFiles();
inputFile.FileName = Path.GetFileName(str);
inputFile.FileSelected = false;
inputFiles.Add(inputFile);//creating a list of files and passing to the view
}
return View (inputFiles);
}
查看
<table width="550px" class="mGrid table">
<tr>
<th>
Select
</th>
<th>
File Name
</th>
</tr>
@foreach (ImportFiles importFiles in @Model)
{
<tr>
<td>
@Html.EditorFor(importFile => @importFiles.FileSelected)
</td>
<td>
@importFiles.FileName
</td>
</tr>
}
</table>
</div>
<table>
<tr>
<td>
<div>
<input type="submit" value="Load Selected Files" />
</div>
</td>
<td>
</td>
<td>
<div>
<input type="submit" onclick="importCancel()" value="Cancel" />
</div>
</td>
</tr>
</table>
因此,从视图中我想访问与选中复选框对应的文件。
单击提交按钮后,我应该可以操作所选的文件
我不确定在此之后如何使用HttpPost
方法,你能帮忙吗?
我已将该表附在视图中:
@using (Html.BeginForm("LoadSelectedFiles", "Admin", FormMethod.Post))
但我接下来不知道如何编写LoadSelectedFiles
控制器方法,我现在想要访问每个打勾的文件。