这是我的问题。在控制器中,我有这种方法,当我单击按钮时,它会将我的视图导出到文件中。
public ActionResult Export(string searchString, int searchOrder = 0)
{
var user = from m in db.Orders select m;
if (!String.IsNullOrEmpty(searchString))
{
user = user.Where(s => s.ClientID.Contains(searchString));
}
Response.AddHeader("Content-Type", "application/vnd.ms-excel");
return this.View(user);
}
我的索引视图:
@model IEnumerable<MyApp.Models.Order>
@{
ViewBag.Title = "Index";
}
<h2>Orders Historic</h2>
<div id="orderDiv">
@using (Html.BeginForm("Export", "Historic", FormMethod.Get))
{
<p>
Generate Order with ClientID :          
@Html.TextBox("searchString")
<input type="submit" value="GENEREMOI" />
</p>
}
</div>
还有我的导出视图:
@model IEnumerable<KrysGroup.Models.Order>
<table cellpadding="3" cellspacing="3">
<tr>
<td width="12%" align="center">
Client Name/ID
</td>
<td width="15%" align="center">
N° Order
</td>
OTHER TD....
</tr>
@foreach (var item in Model)
{
TimeSpan result = DateTime.Now - item.OrderDate;
if (result.Days < 31)
{
<tr border="1" bgcolor="@Odd">
<td> @Html.DisplayFor(modelItem => item.Username) </td>
<td> @Html.DisplayFor(modelItem => item.OrderId) </td>
<td>
<ul style="list-style-type:none; padding:0; margin:0">
@if (item.OrderDetails != null)
{
foreach (var o in item.OrderDetails)
{
if (o.Pack == null)
{
<li> @Html.DisplayFor(modelItem => o.Product.Name) </li>
}
else
{
<li> <text>Pack</text> @Html.DisplayFor(modelItem => o.Pack.Name) </li>
}
}
}
</ul>
</td>
OTHER TD...
</table>
因此,在我看来,我在文本框中通知了一个 ClientID,当我单击该按钮时,它会将我的表中具有此 ClientID 的所有字段导出到一个文件中。
我想自动化这个动作,也就是说我想写一个方法或其他东西,当我点击按钮时,它会为它在我的表中遇到的每个 clientId 执行这个 export() 方法。
我希望我足够清楚,对不起我的英语.. 感谢您的回答、链接、提示。