MVC 模型绑定:使用与方法参数的查询字符串不同的名称
给定一个网址:
http://www.stackoverflow.com/question?询问=123&答案=5
及其对应的 ActionMethod 和 Model:
public ActionResult Question(RequestObject request)
{
return View("Question", request);
}
public class RequestObject
{
public string AskId
{
get;
set;
}
public string NumberOfAnswers
{
get;
set;
}
}
注意 QueryString 和 RequestObject 的参数是不同的。我可以使用默认的绑定行为来实现这一点吗?我需要创建自定义活页夹吗?
谢谢!
Given a URL:
http://www.stackoverflow.com/question?ask=123&answers=5
and its corresponding ActionMethod and Model:
public ActionResult Question(RequestObject request)
{
return View("Question", request);
}
public class RequestObject
{
public string AskId
{
get;
set;
}
public string NumberOfAnswers
{
get;
set;
}
}
Notice that the QueryString and the parameters of the RequestObject are different. Can I achieve that with the default binding behavior? Do I need to create a custom binder?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
听起来自定义模型活页夹就是您想要的。 Scott Hanselman 在此处提供了一个实现自定义绑定器的好示例
It sounds like a custom model binder is what you want. Scott Hanselman has a good example of implementing custom binders here
您可以使用显式对象初始化:
You could use explicit object initialization:
覆盖 DefaultModelBinder。特别是它的
BindProperty
方法。Override DefaultModelBinder. Particularily, its
BindProperty
method.