※ 引述《forewero (木日一)》之铭言:
: 最后在view上要呈现的时候
: 例如
: @model project.viewmode.viewmodel_test
: @html.labelfor(m=>m.company)
: 这时候我只点得出company
: 原因我大概明白
: 所以说实务上我要这样做我是不是在viewmodel里面就要把所有属性订起来?
ViewModels定义的是cshtml要呈现的字段
LastUpdateUserID、LastUpdateTime...等不需呈现的字段不会订在ViewModels
: 那如果是这样的话
: 如果同一个view上我要导入多个model,且要调用html.XXX for时
: 我就一定得用partial view了?
Partial View用途是HTML的重复使用,和这无关
cshtml会使用你自订的ViewModels,不是EF产生的Model
: 而且这样我在controller时是不是还得把所有的属性对应起来?
: 这样子的话html.xxxfor岂不是不太好用
: 最后再问一个小问题
: 资料验证的部分大家会利用ValidationMessage去做
: 还是自己刻?
: 像是摆在ajax丢后台判定,再去前台刻js这样
: 虽然有ValidationMessageFor,但是为了避免database更新
: 我自己是写一个class,内容跟EF产的九成九像
通常是用Partial Class写一个MetaData Class
内容真的会和EF产的很像,没要验证和呈现在cshtml的字段可以不用定义在MetaData
常用/自订的验证还可以做成Attribute,别个专案可以重复利用程式码
应该会比自己刻快很多,而且一次搞定前后端验证
https://goo.gl/PxxA9F 有那多东西可以用
: 自己再刻errormessage
: 这样一来的功好像没省到哪里去...
: 目前进入程式的世界大概八个月
: 如果有什么观念不对的地方还请各位见谅QQ
小弟我也刚学,不一定正确,有误请您或版上强者指正
提供范例参考
https://code.msdn.microsoft.com/ASPNET-MVC-Application-b01a9fe8
https://github.com/twMVC/twMVC-3-2
https://goo.gl/wbbZm5 自己练习的专案