我有这个控制器
public class DownloadController : Controller
{
[HttpPost]
public FileContentResult GetFile(MyModel model)
{
// Action code
}
}
而这个模型
public class MyModel
{
public string Test { get; set; }
}
将模型从视图传递到控制器可以像这样正常工作
@using (Html.BeginForm("GetFile", "Download", FormMethod.Post))
{
@Html.HiddenFor(m => m.Test)
<button type="submit" name="submit" class="submit">Download</button>
}
模型已正确传递给控制器,我可以用它做我需要做的事情。
现在,我想要实现的是使这个GetFile()控制器动作是通用的,所以我可以将它传递给任何模型,而无需在方法签名中强输入模型类,就像我在上面的示例中所做的那样。
我知道我可以通过为我拥有的每个模型重写一次 GetFile() 方法来实现这一点,但我想知道是否有更好的方法来做到这一点,尽可能保持干燥?
谢谢你。