Почему я получаю сообщение об ошибке при использовании HttpContext?

Я работаю над кодом для создания веб-сайта с песнями, но при использовании этого кода получаю сообщение об ошибке:

ds.ReadXml(HttpContext.Current.Server.MapPath(filepath));

код ошибки: CS0103: имя "HttpContext" не существует в текущем контексте.

Мой код SongMethods.cs:

using System.Data;
using System;
/// <summary>
/// Summary description for Class1
/// </summary>
public class Pokoes
{
public Pokoes()
{
    //
    // TODO: Add constructor logic here
    //
}
public DataSet GetAllSongs(string filepath)
{
    DataSet ds =new DataSet("playlist");

    DataTable dtSongs =new DataTable("song");

    DataColumn dcId = new DataColumn("id");
    DataColumn dcTitle = new DataColumn("title");
    DataColumn dcArtist = new DataColumn("artist");
    DataColumn dcYear = new DataColumn("year");
    DataColumn dcGenre = new DataColumn("genre");
    DataColumn dcFile = new DataColumn("file");

    dtSongs.Columns.Add(dcId);
    dtSongs.Columns.Add(dcTitle);
    dtSongs.Columns.Add(dcArtist);
    dtSongs.Columns.Add(dcYear);
    dtSongs.Columns.Add(dcGenre);
    dtSongs.Columns.Add(dcFile);
    ds.Tables.Add(dtSongs);

    ds.ReadXml(HttpContext.Current.Server.MapPath(filepath));

    return ds;
}

}

Мой индексный код:

<!DOCTYPE html>

@using System;
@using XmlCrud.App_Code;

@{
SongMethods mySongMethods = new SongMethods();
string filePath = Server.MapPath(@"~\App_Data\playlist.xml");
DataSet ds = mySongMethods.GetAllSongs(filePath);
}
<html>
<head>
<title>XmlCrud</title>
<link href = "~/Content/bootstrap.min.css" rel"stylesheet" />
<script src = "~/Scripts/bootstrap.min.js"></script>
</head>
<body>
<br /><br />
      <table class = "table-bordered">
          <tr>
            <th>Id</th>
            <th>Title</th>
            <th>Artist</th>
            <th>Year</th>
            <th>Genre</th>
            <th>File</th>
           </tr>

          @foreach (DataRow dr in ds.Tables["song"].Rows)
          {
              <tr>
                  <td>@dr["id"]</td>
                  <td>@dr["title"]</td>
                  <td>@dr["artist"]</td>
                  <td>@dr["year"]</td>
                  <td>@dr["genre"]</td>
                  <td>@dr["file"]</td>
              </tr>
          }
      </table>
 </body>
 </html>

Мой playlist.xml:

<?xml version = "1.0" encoding = "utf-8"?>
<playlist>
 <song>
<id>1</id>
<title>if i can't</title>
<artist>50 cents</artist>
<year>2005</year>
<genre>rap</genre>
<file>link</file>
</song>
<song>
<id>2</id>
<title>time in a bottle</title>
<artist>jimmy croche</artist>
<year>1973</year>
<genre>accoustic</genre>
<file>link</file>
</song>
</playlist>

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

Ошибка говорит вам, что вы никогда нигде не объявляли переменную HttpContext, чтобы система знала, что это такое. Если у вас есть образец приложения, в котором уже есть успешная реализация HttpContext, попробуйте просмотреть его, чтобы узнать, где определена переменная, и посмотрите, сможете ли вы это воспроизвести. Или попробуйте прочитать документацию HttpContext. Или попробуйте поискать в github фрагменты кода, которые приведут вас к проекту с полезными примерами кода.

Nate W 30.03.2021 15:30

@NateW Вы бы не объявляли HttpContext, за исключением, возможно, части модульного теста. Это экземпляр, предоставляемый платформой ASP.NET.

mason 30.03.2021 16:19

Спасибо @mason, в целом я знал, что означает сообщение об ошибке, но я не знаком с этим аспектом программирования, поэтому я не мог предоставить правильное решение, а просто интерпретацию.

Nate W 30.03.2021 16:46

Должно быть: ds.ReadXml (путь к файлу); Сопоставление выполняется в HTML и не требует повторения.

jdweng 30.03.2021 18:35
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
57
1

Ответы 1

HttpContext является частью пространства имен System.Web, поэтому добавьте

using System.Web;

Другие вопросы по теме