Html.Partial和Html.RenderPartial && Html.Action和Html.RenderAction

1.Partial辅助方法用于将部分视图渲染成字符串。通常情况下,部分视图中包含多个在不同视图中可重复使用的标记。Partial方法共有4个重载版本,如下所示:

public void Partial(string partialViewName);
public void Partial(string partialViewName,object model);
public void Partial(string partialViewName,ViewDataDictionary viewData);
public void Partial(string partialViewName,object model,ViewDataDictionary viewData);

注意:这里没必要为视图指定路径和扩展名,因为运行时定位部分视图与定位正常视图使用的逻辑相同。

2.RenderPartial辅助方法与Partial非常相似,但RenderPartial不是返回字符串,而是直接写入相应输出流。出于这个原因,必须把RenderPartial放入代码块中,而不能放在代码表达式中。为了说明这一点,下面两行代码向输出流写入相同的内容:

@{Html.RenderPartial("AlbumDisplay");}
@Html.Parital("AlbumDisplay")
一般情况下,Partial使用起来更方便,因为不用放在花括号中,但是RenderPartial拥有更好的性能,不过需要在大量的使用才能显示出优势。


3.Action和RenderAction类似于Partial和RenderPartial辅助方法。Partial辅助方法通常在单独的文件中应用视图标记来帮助视图渲染视图模型的一部分。另一方面,Action执行单独的控制器操作,并显示结果。Action提供了更多的灵活性和重要性,因为控制器操作可以建立不同的模型,可以利用单独的控制器上下文。

同样,Action和RenderAction之间仅有的不同之处在于:RenderAction可以直接写入响应流。需要注意的是,建议给Action添加特性[ChildActionOnlyAttribute],虽然不是必须的,但通常在进行子操作时推荐使用,能有效避免运行时直接通过URL来调用操作。

需要注意的另一点是,RenderAction方法优先使用ActionName特性值作为调用的操作名称。[ActionName("actionName")]





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值