2010-08-12 2 views
-1

Может кто-то пожалуйста, помогите мне преобразовать строку номер 1 в App_Code для 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;} 

Спасибо

ответ

0

Для C# вам не нужны все эти "как System.Web.Routing.RouteData". Вы объявляете свой тип с помощью «RouteData» в начале строки. Возможно, вам понадобится сделать такое литье, как это:

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

Это должно сделать строку кода более действенной. Я не уверен, что вы означая о преобразовании строки в «в App_Code», хотя ...

Edit - Исправление других ошибок:

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

} 

Приведенный выше код компилируется. Изменения включают в себя:

  1. делает заявленное свойство статическим - не может иметь не статический член статического класса
  2. извлекая возвратную заявление - это не имеет никакого смысла в классе контексте
  3. , изменяющих имя поля - вы не можете иметь член с именем тот же, что и его закрывающий тип.

Предполагается, что вы пытаетесь создать класс с этим полем. Вы также могли бы сделать это свойство так:

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; 
    } 
} 

Надежда, что помогает.

+0

Он еще сказал, в свою очередь, «Недопустимый маркер в классе, ударе или объявлении члена интерфейса " общедоступный статический класс RouteDatax { RouteData RouteData_x = (RouteData) (HttpContext.Current.Пункты [ "RouteData"]); return RouteData_x; } – dngo

+0

@dngo: Я до сих пор не уверен точно, что вы пытаетесь сделать, но, надеюсь, редактирование должно получить вас там, где вы хотите быть ... – Chris

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"]); 
Смежные вопросы