2012-06-25 2 views
1

Я искал google, так как есть способ добавить какой-либо метод на мою страницу во время выполнения. Я получил ссылку из stackoverflow для этого .... это объект expando.Динамически добавлять статический метод на странице aspx из ascx

Я не знаком с объектом expando. вот небольшой отрывок кода я получил и как

namespace DynamicDemo 
{ 
class ExpandoFun 
{ 
public static void Main() 
{ 
    Console.WriteLine("Fun with Expandos..."); 
    dynamic student = new ExpandoObject(); 
    student.FirstName = "John"; 
    student.LastName = "Doe"; 

student.Introduction=new Action(()=> 
Console.WriteLine("Hello my name is {0} {1}",student.FirstName,student.LastName); 
); 

); 
    Console.WriteLine(student.FirstName); 
    student.Introduction(); 
} 
} 
} 

по моей ситуации мне нужно добавить процедуру ниже как во многой странице ASPX.

[WebMethod] 
    public static string LoadData(string CountryCode,int PageIndex) 
    { 
     string strData = ""; 
     if (CountryCode != "") 
     { 
      strData = Left1.HavingCountry(CountryCode, PageIndex); 
     } 
     else 
     { 
      strData = Left1.WithoutCountry(PageIndex); 
     } 
     return strData; 
    } 

так что мне нужно знать, что есть ли способ, чтобы добавить какую-то технику на моей странице ASCX который добавит вышеупомянутый метод во всех страницах ASPX, которые принимают этот конкретный ASCX. пожалуйста, помогите мне достичь этого. спасибо

ответ

0
I don't think it is possible. 
Can you do this way 

1. create a `class` which extents `System.Web.UI.Page`. 
2. write you `WebMethod` in that class. 
3. Create your aspx pages by extending this class 

public partial class _Default : TestUserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 
} 

public class TestUserControl : System.Web.UI.Page 
{ 
    [System.Web.Services.WebMethod] 
    public static string LoadData(string CountryCode, int PageIndex) 
    { 
     string strData = ""; 
     if (CountryCode != "") 
     { 
      strData = Left1.HavingCountry(CountryCode, PageIndex); 
     } 
     else 
     { 
      strData = Left1.WithoutCountry(PageIndex); 
     } 
     return strData; 
    } 
    } 
Смежные вопросы