我正在创建一个“高级输入表单”,其中包含大量用于搜索数据的输入。我的问题是:将大量数据从 HTML 传递到 Controller 的最佳方法是什么。
我问的原因是。假设您有这个 HTML 表单:
@using (Html.BeginForm("Loading", "AdvancedSearch"))
{
<input type="text" id="keyword">
<input type="text" id="keyword1">
<input type="text" id="keyword2">
<input type="text" id="keyword3">
<input type="text" id="keyword4">
<input type="text" id="keyword5">
<input type="text" id="keyword6">
<input type="text" id="keyword7">
<input type="text" id="keyword8">
<input type="text" id="keyword9">
<input type="submit" value="Search" style="width: 150px;" />
}
然后像这样将它全部传递给 Controller 会非常讨厌(我有更多的关键字):
public ActionResult Loading(string keyword1, string keyword2, string keyword3, string keyword4, string keyword5, string6
string keyword7, string keyword8, string keyword9){
//do things to the parameters!
return View();
}
那么你会如何执行这个 Action 或者你会这样做吗?
谢谢!
最佳答案
使用模型类。如果输入名称与模型属性匹配,MVC 引擎将为您进行映射。
public class Keywords
{
public string keyword1 { get; set; }
public string keyword2 { get; set; }
///etc...
}
而且您的操作要简单得多:
public ActionResult Loading(Keywords keywords){
//do things to the parameters!
var keyword1 = keywords.keyword1;
return View();
}
关于html - 将大量参数传递给 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26909083/