gpt4 book ai didi

asp.net-mvc - 如何在 MVC.net 中从 MongoDB 传递 ObjectId

转载 作者:行者123 更新时间:2023-12-02 01:12:09 26 4
gpt4 key购买 nike

我正在使用 Mongo、NoRM 和 MVC .Net 启动一个新项目。

在我使用 FluentNHibernate 之前,我的 ID 是整数,现在我的 ID 是 ObjectId。因此,当我有一个“编辑”链接时,我的 URL 如下所示:

网站/管理/编辑/23,111,160,3,240,200,191,56,25,0,0,0

并且它不会作为 ObjectId 自动绑定(bind)到我的 Controller

您对此有什么建议/最佳实践吗?我每次都需要对ID进行编码/解码吗?

谢谢!

最佳答案

使用像这样的自定义模型绑定(bind)器...(针对官方 C# MongoDB 驱动程序)

protected void Application_Start()
{
...
ModelBinders.Binders.Add(typeof(ObjectId), new ObjectIdModelBinder());
}

public class ObjectIdModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var result = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
if (result == null)
{
return ObjectId.Empty;
}
return ObjectId.Parse((string)result.ConvertTo(typeof(string)));
}
}

关于asp.net-mvc - 如何在 MVC.net 中从 MongoDB 传递 ObjectId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143254/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com