首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ModelBinder通过ID获取对象

使用ModelBinder通过ID获取对象
EN

Stack Overflow用户
提问于 2008-12-19 11:59:57
回答 2查看 296关注 0票数 0

我有多个接受id的控制器操作。

代码语言:javascript
复制
public ActionResult Get(int? id) {
...
}

public ActionResult Delete(int id) {
...
}

public JsonResult GetJson(int? id) {
...
}

我认为它的最佳实践是在每个操作上使用ModelBinder (SomeObjectFromIDModelBinder),这样对象的获取就从控制器中分离出来,并使操作方法更小。

我不希望它被称为SomeObjectModelBinder的原因是因为我还需要从JSON重新创建模型,所以有一个SomeObjectFromJsonModelBinder来处理从JSON字符串重新创建“SomeObject”。

我认为这是ModelBinders (命名约定)的一个合适的用法,但只是想澄清一下。有什么想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-01-22 12:47:33

我决定做我所要求的事情是可以接受的,并且有多个ModelBinders将不同的数据绑定到一个模型。

票数 0
EN

Stack Overflow用户

发布于 2008-12-19 21:41:03

您不需要做任何事情来获取ID。the MVC处理程序将查找与表单数据、查询字符串和路由中的方法参数同名的简单值。所以你可以有一个路由/{controller}/{action}/{ id },默认值是action="Get",id=1,然后id可以在URL中指定为/Home/Get/3或者/Home/Delete?id=6。

或者,您可以在表单中拥有一个id为"id“的文本框和一个提交按钮,用于发布到"/Home/Get”。

ModelBinders旨在允许您通过创建实例并从表单数据、查询字符串或路由数据填充属性来拥有作为类的操作方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/380792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档