将一行转换为APP_Code

时间:2010-08-12 16:25:47

标签: c# asp.net-3.5

有些人可以帮我将第1行转换为适用于ASP.NET 3.5的APP_Code

LINE 1.  RouteData RouteDatax = HttpContext.Current.Items["RouteData"] as System.Web.Routing.RouteData;

我尝试过转换上面的代码,但不起作用。

public static class RouteDatax{
RouteData RouteDatax = HttpContext.Current.Items["RouteData"] as System.Web.Routing.RouteData;
 return RouteData;}

谢谢

2 个答案:

答案 0 :(得分:0)

对于C#,您不需要所有那些“作为System.Web.Routing.RouteData”。您在行的开头使用“RouteData”声明类型。你可能需要做一些这样的演员:

RouteData RouteDatax = (RouteData)(HttpContext.Current.Items["RouteData"]);

这应该使代码行更有效。我不确定你将这条线转换成“APP_Code”是什么意思......

编辑 - 更正其他错误:

public static class RouteDatax
{
    public static string RouteDataxx = (RouteData)(HttpContext.Current.Items["RouteData"]);

}

上面的代码应该编译。所做的更改包括:

  1. 使声明的属性为static - 不能具有静态类的非静态成员
  2. 删除return语句 - 在类上下文中没有意义
  3. 更改字段的名称 - 您不能拥有与其封闭类型相同的成员
  4. 这假设您正在尝试使用该字段创建一个类。你也可以把它变成这样的财产:

        public RouteData myValue
        {
            get
            {
                RouteData RouteDatax = (RouteData)(HttpContext.Current.Items["RouteData"]);
                return RouteDatax;
            }
        }
    

    或方法:

    public static class RouteDatax
    {
        public RouteData myValue()
        {
                RouteData RouteDatax = (RouteData)(HttpContext.Current.Items["RouteData"]);
                return RouteDatax;
        }
    } 
    

    希望有所帮助。

答案 1 :(得分:0)

非常感谢你的帮助。对此,我真的非常感激。 我仍然难以调出课程并使用像RouteData.Values [“routeid”]

我喜欢的是将下面的代码放在APP_CODE中,这样我就可以在同一个应用程序中的任何地方调用它。就目前而言,每次我想提出请求时,我都必须将下面的代码放在同一页面/代码中才能隐藏以拨打电话。这有点太不方便了,很难从asp.net 3.5迁移到4.0框架。

RouteData RouteData = HttpContext.Current.Items["RouteData"] as System.Web.Routing.RouteData;

简化的唯一方法是转换上面的代码,以便我们可以在应用程序(网站)内的任何地方拨打电话

Response.Write(RouteData.Values["routeid"]);