ASP.NET MVC 模型绑定和默认构造函数

发布于 2024-10-16 01:17:56 字数 245 浏览 2 评论 0原文

如何将我的域对象 Car 绑定到 View?

MVC 说“你的类必须有默认构造函数”。但我不想通过创建默认构造函数来更改任何业务规则。我能看到的唯一解决方案是在我的视图中使用 CarView,然后将其映射到 Car。

PS NHibernate 也需要一个默认构造函数,但它可以受到保护。这个我可以做。

How do bind my domain object Car to View?

MVC says "your class must have default constructor". But I don't want to change any business rules by creating a default constructor. The only solution I can see - is to use CarView in my View and then map it to Car.

P.S. NHibernate wants a default constructor too, but it can be protected. This I can do.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

明媚殇 2024-10-23 01:17:56

恕我直言,将进入您视图的对象与域对象分开是个好主意。这有很多优点(我现在不打算讨论)。

然后,您可以使用 Automapper 将视图模型映射到域对象

IMHO, its a good idea to seperate the objects that go to your view from you domain objects. This has a long list of advantages (which I am not going into now).

You can then use Automapper to map your view models to your domain objects

时光无声 2024-10-23 01:17:56

您可以自己创建对象并调用 UpdateModel 来进行绑定:

public ActionResult MyAction()
{
   var car = new MyCar(somethingToPassIntoTheConstructor);

   UpdateModel(car);

   // Do stuff with car.
}

You could create the object yourself and call UpdateModel to do the binding instead:

public ActionResult MyAction()
{
   var car = new MyCar(somethingToPassIntoTheConstructor);

   UpdateModel(car);

   // Do stuff with car.
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文