Asp.net Mvc Framework 十一 (自定义Helper在MVC中的使用)


Monorail中的Helper是绑定在Controller上的

  形如:

  [Helper(typeof(ChHelper))]

  abstract public class BaseBlockController : SmartDispatcherController{

  }但本身Helper是使用在View中的,所以 Monorail这种定义方式 略微违背了分离之道

  那么Asp.net MVC中是如何绑定自定义的Helper的呢?

  其实Asp.net MVC的View也有代码文件即类似 index.aspx.cs

  代码文件继承于ViewPage

  下面用一个实例来讲

  我首先我自定义一个Helper

  实现了对字符串的一些小扩展

public class StringHelper
{
  public string Red(string str) {
    return string.Format(@"<span style=""color:red"">{0}</span>",str);
  }
  public string Green(string str) {
    return string.Format(@"<span style=""color:green"">{0}</span>", str);
  }
}

  那么我们怎样才能在View使用它呢?

  我们可以在View的cs中写以下代码

    public StringHelper Str {
      get;
      set;
    }

  即为

public partial class Index : ViewPage
  {
    public StringHelper Str {
      get;
      set;
    }
  }

  这样我们就可以在View中使用

  <%=Str.Red(ViewData["title"])%>这样的代码了

  如果这个Helper你想不仅在此一个文件中使用

  那么可以通过将属性 写在一个BaseViewPage的基类中 然后所有的View都继承于自定义的BaseViewPage来实现

  同样的,Master文件中也可以通过类似的方法来完成使用自定义的Helper

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3