zoukankan      html  css  js  c++  java
  • MonoRail学习Component

    MonoRail学习目录

    在我们asp.net中,经常有界面代码相同的时候,使用UserControl,在MonoRail中有两种方式来实现页面的重用,
    第一种,只重用view
    如下:
    #parse("home/newslist.vm")
    相当于include这个newslist.vm到指定的页面


    第二种就是Component
    Component创建如下:
    1.创建一组件类NewsList.cs

    using System;
    using Castle.MonoRail.Framework;

    namespace MonoRailWeb.components
    {
     
    /// <summary>
     
    /// NewsList 的摘要说明。
     
    /// </summary>

     public class NewsList : SmartViewComponent
     
    {
      
    public NewsList()
      
    {
      }


      
    public override void Render()
      
    {
       
    //将值传输给View
       this.Context.ContextVars["name"= "这是一个新闻组件";

       
    //显示相应的View
       this.RenderView("News","NewsList");
      }

     }

    }

    2.在views目录下创建components目录,在components目录下在创建news,在news目录下创建newslist.vm文件
    <table>
    <tr><td>$name</td></tr>
    </table>
    这是组件的界面部分

    3.在页面中调用该组件
    #component(NewsList)
    这样一个组件就创建完成了。
    通常,我们会为组件设定一些参数,这样在我们调用组件的时候在设置参数的值。
    那么就需要在组件类中得到参数的值,如下:
    //得到参数ID的值
    string id = Context.ComponentParameters["id"].ToString();

    在页面中设置参数的值
    #component(NewsListById with "id=1")
    若有多个参数,则如下:
    #component(NewsListById with "id=1" "name=test")

  • 相关阅读:
    Flink 架构和拓扑概览
    Flink 如何背压
    流式计算的时间模型
    流式计算的背压问题
    大数据流式计算容错方案演进之路
    Flink 任务提交
    Flink wordCount
    线性回归和逻辑回归的区别
    Nginx反向代理后配置404页面
    Httpclient 实现带参文件上传
  • 原文地址:https://www.cnblogs.com/maplye/p/383457.html
Copyright © 2011-2022 走看看