[英]How do I send a string through html into a controller. ASP.NET MVC
我有一種方法可以將數據導出到 Excel 中,稱為 ExportCSV()。
我想要一種具有一些附加功能的方法:ExportCSV(string searchString),其中網頁搜索欄中的字符串被發送到此方法,然后我可以使用它。 所以我的問題是,如何將搜索欄中的字符串發送到此方法中?
相關代碼如下。
html的用於搜索功能,但我無法獲得類似的功能來導出
<input type="text" placeholder="Chem Name" name="cheminventory2String" value="@ViewData["Search"]" id="SearchString" />
<input type="submit" value="Search" class="btn btn-default" />
<a class="btn btn-default" asp-action="ExportCSV">Export Table</a>
這是控制器
public FileContentResult ExportCSV(string searchString)
{
var dataTable = from m in _context.ChemInventory2.Include(c => c.Chemical).Include(c => Location).Include(c => c.Order)
select m;
*code for making and filling the csv to export*
return File(export.ExportToBytes(), "text/csv", "Chemical Inventory.csv");
}
ExportCSV() 有效,但它導出表中的所有內容。 我希望它只導出搜索過的內容。 在我嘗試過的事情中,沒有任何東西都傳遞到方法中。 searchString 始終為空。
<form method="GET" asp-action="ExportCSV">
<input type="text" placeholder="Chem Name" name="cheminventory2String" value="@ViewData["Search"]" id="SearchString" />
<input type="submit" value="Search" class="btn btn-default" />
<button type="submit" class="btn btn-default">Export Table</a>
</form>
上面 HTML 標記上的 name 屬性需要匹配您的 MVC ActionResult 所采用的參數,並且由於您使用的是 Anchor 標記,因此您只是將人們導航到您的 URL,沒有任何參數。
它應該被包裹在一個表單標簽中,然后錨鏈接應該被一個提交按鈕替換。
然后,您可以使用如下所示的搜索字符串:
public FileContentResult ExportCSV(string cheminventory2String)
{
var dataTable = from m in _context.ChemInventory2.Include(c => c.Chemical).Include(c => Location).Include(c => c.Order)
where cheminventory2String == m.Chemical.Name select m;
return File(export.ExportToBytes(), "text/csv", "Chemical Inventory.csv");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.