Html.Partial和Html.EditorFor的区别是啥

Html.Partial和Html.EditorFor的区别是啥,第1张

html.partial是使用指定的Model执行指定的视图

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中。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/7257466.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存