如何在Asp.net mvc中创建类似“Html.DisplayTextFor”的扩展方法?我的意思是我需要在asp.net中为我的页面类扩展,比如“Page.DisplayTextFor”我如何实现它。我创造了这个:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace System.Web.UI
{
public static class PageExtension
{
public static void DisplayTextFor(this string text)
{
/*some operation*/
}
}
}
但它不起作用。
答案 0 :(得分:4)
我认为你的意思是你想扩展Page类,添加你自己的函数,以便在使用this.Page...
时显示?
如果是这样,请首先将PageExtension
类作为您自己的命名空间的一部分。然后语法是:
public static void DisplayTextFor(this Page page, string text)
{
page.Response.Write(text);
}
扩展方法first参数定义要扩展的类,其余参数定义调用时发送的内容。
要从您的页面中调用上述内容,请执行以下操作:
this.Page.DisplayTextFor("hello world");
答案 1 :(得分:0)
您需要在System.Web.UI.Page
类中选择一个现有属性来扩展,或者创建您自己的属性(在基类中)和您自己的类。