• MVC Html.RenderPartial和Html.partial


    ①Html.Partial是HtmlHelper的扩展方法,而Html.RenderPartial是HtmlHelper自带方法,两者功能相近。但

    ②Htm.Partial是将视图内容直接生成一个字符串并返回(相当于有个转义的过程)。

    Html.RenderPartial方法是直接输出至当前 HttpContext(因为是直接输出,所以性能好)。

    ③Html.partial和RenderPartial的其它三个重载很有用,第二个重载@{Html.RenderPartial("BasicChart",model);}
      用这个重载可以在部分视图里使用强类型,然后在主视图中使用第二个参数传model过去,而不用controller
    比如从list中传其中一项myClass过去
    第三个重载用来传ViewData同理,如:@{Html.RenderPartial("BasicChart",ViewData["myData"]);}

    补充:

    1、带有Render的方法返回值是void,在方法内部进行输出;不带的返回值类型为MvcHtmlString,所以只能这样使用:
    @Html.Partial 对应 @{Html.RenderPartial(....);}
    @Html.Action 对应 @{Html.RenderAction(....);}
    2、Html.Partial可以直接提供用户控件名作为参数,而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。
    3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;对于需要设置一些Model的用户控件,推荐使用Html.Action。当然,有Model数据也是可以使用Html.Partial方法的,可以看方法的重载。
    4、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。
    比如:
    @Html.Action("UserInfoControl")
    在对应的UserInfoControl这个Action中,在用户未登录的时候,可以retun PartialView("LogOnUserControl");登录后,可以retun PartialView("UserInfoControl");

  • 相关阅读:
    AngularJS XMLHttpRequest
    AngularJS服务
    angularJS过滤器
    AngularJ控制器
    angular Scope(作用域)
    angular Model 指令
    angular指令
    微信小程序调用微信支付
    微信小程序一直保持登陆状态
    微信小程序ajax请求数据及一些方法
  • 原文地址:https://www.cnblogs.com/aehyok/p/2729014.html
Copyright © 2020-2023  润新知