我甚至不确定如何问这个问题。基本上,你知道在Razor中你有这样的东西:
@model MyProj.childObj
// Current scope is childObj
@Html.LabelFor(m => m.MyVal)
@Html.LabelFor(m => m.MyVal2)
@Html.LabelFor(m => m.MyVal3)
...
这一切都很好,花花公子,但如果我将childObj连成另一个obj怎么办?例如:
@model MyProj.parentObj
现在,我可以这样做:
// Current scope is parentObj
@Html.LabelFor(m => m.childObj.MyVal)
@Html.LabelFor(m => m.childObj.MyVal2)
@Html.LabelFor(m => m.childObj.MyVal3)
...
这很好,但由于我有很多变量,我想这样做:
// Current scope is parentObj
@using (Model.childObj) {
// Current scope is now childObj
@Html.LabelFor(m => m.MyVal)
@Html.LabelFor(m => m.MyVal2)
@Html.LabelFor(m => m.MyVal3)
...
}
这可能吗?
答案 0 :(得分:1)
是。您可以在Razor中定义变量并使用它们。
@{
var child = Model.childObj;
@Html.LabelFor(m => child.MyVal)
@Html.LabelFor(m => child.MyVal2)
@Html.LabelFor(m => child.MyVal3)
}