我在类文件中写了一个处理函数public string NewsUrls(string a,string b)
{
if(a == null || a == "")
{
return "/NewsView.aspx?id="+b+"";
}
else
{
return a;
}
}
然后在另一个文件A.ASPX.CS中做了CleanString NewsUrls = new CleanString();
但在前台<%# NewsUrls(DataBinder.Eval(Container.DataItem,"NewsUrl").ToString(),DataBinder.Eval(Container.DataItem,"ID").ToString()) %>'>为什么提示不可访问,因为它受保护级别限制

解决方案 »

  1.   

    在哪加?public CleanString NewsUrls = new CleanString();这样?好像不对
      

  2.   

    上面你定义的NewsUrls只是一个方法啊,CleanString NewsUrls = new CleanString();你又声明了一个类对象,你要是用的话也应该<%# NewsUrls.NewsUrls(DataBinder.Eval(Container.DataItem,"NewsUrl").ToString(),DataBinder.Eval(Container.DataItem,"ID").ToString()) %>'>这么用啊,另外再检查一下你定义的类\方法\定义的类变量的可访问权限是否是public
      

  3.   

    public string NewsUrls(string a,string b)

    CleanString NewsUrls = new CleanString(); 
    return NewsUrls(a,b);
    }
      

  4.   


    public string NewsUrls(string a,string b)

    CleanString NewsUrls = new CleanString(); 
    return NewsUrls.NewsUrls(a,b);
    }
      

  5.   

    NewsUrls
    这个方法受到保护限制。你定义它为protected试试。
      

  6.   

    <%# NewsUrls.NewsUrls(DataBinder.Eval(Container.DataItem,"NewsUrl").ToString(),DataBinder.Eval(Container.DataItem,"ID").ToString()) %>'>这样就行了..给NewsUrls方法加public就行了..为什么我声明了对像CleanString NewsUrls = new CleanString();
    不能直接在前台NewsUrls()这样用呢..
    而要再一次NewsUrls.NewsUrls这样啊..理论有点乱..郁闷
      

  7.   

    Web.UI.WebControls.DataGridPageChangedEventArgs)”不可访问,因为它受保护级别限制