
html.labelfor、textboxfor等,是按照label或textbox的方式输出模式
html.editorfor是使用指定的Model输出视图
此外,还有一个html.displayfor跟html.editorfor类似。
editorfor在输出数据的时候,如果不能满足其特殊需求,会使用TextboxFor来达成目的。
那么editorfor的特殊需求是什么呢?
1、editorfor会默认从shared\editortemplates文件夹里找Model类型名对应的视图文件。
2、可以对editorfor指定模板视图的文件名,如你的代码中的BasicCoreInfomationViewModel
至于DISPLAYFOR,默认的视图文件夹为displaytemplates
renderHtml和render有什么区别Html.partial和RenderPartial的用法与区别
Html.partial和RenderPartial都是输出html片段,区别在于
Partial是将视图内容直接生成一个字符串并返回(相当于有个转义的过程),RenderPartial方法是直接输出至当前 HttpContext(因为是直接输出,所以性能好)。因此它们在视图中的使用方式是不同的:
MVC2:
输出到 HttpContext
输出为string 直接到页面
MVC3:
@Html.Partial("BasicChart")
@{
Html.RenderPartial("BasicChart")
}
Html.partial和RenderPartial的其它三个重载很有用,第二个重载@{Html.RenderPartial("BasicChart",model)}
用这个重载可以在部分视图里使用强类型,然后在主视图中使用第二个参数传model过去,而不用controller
比如从list中传其中一项myClass过去
第三个重载用来传ViewData同理,如:@{Html.RenderPartial("BasicChart",ViewData["myData"])}
示例:
<div id="logindisplay">
@*@Html.Partial("_LogOnPartial")*@
@{
Html.RenderPartial("_LogOnPartial")
}
</div>
Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的。Html.RenderPartial是直接将用户控件嵌入到界面上:或注意:用第一种方法时,用户控件必须放在调用者同一目录下,也可以放在View/Shared中。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)