【发布时间】:2017-11-04 09:37:18
【问题描述】:
public class LogsController : Controller
{
public async Task<ActionResult> User(string id, int? page)
{
return await User(id, (Page)page);
}
private async Task<ActionResult> User(string id, Page page)
{
var data = await Repo.GetData(id, page, 10);
var model = new UserLogs
{
User = id,
Events = data,
Pager = new PagerInput(page, 10, data.TotalCount)
};
return View("UserGrid", model);
}
}
My Page 类提供了有用的功能,例如确保页面永远不会小于 1 等。但是,如果我的公共操作将 Page 作为参数,则无论表单或查询字符串中的值如何,它始终为 null,即使我已经定义了与 int 之间的隐式转换。
无论如何我可以告诉 MVC 如何反序列化 Page 类型吗?这样提供某种方法/ctor来从字符串转换?
我想在实际的页面类型上定义它,因为我将在多个控制器/动作中使用它。
我会很高兴不需要双重动作定义。
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-5