Использование веб-запроса для извлечения и отображения строк на стороне клиента - PullRequest
0 голосов
/ 29 октября 2018

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

enter image description here

Ниже приведен код, который я использую,

public void Main()
    {
        WebRequest request = WebRequest.Create(
          "http://www.example.com");
        request.Credentials = CredentialCache.DefaultCredentials;
        WebResponse response = request.GetResponse();
        Console.WriteLine(((HttpWebResponse)response).StatusDescription);
        Stream dataStream = response.GetResponseStream();
        StreamReader reader = new StreamReader(dataStream);
        var responseFromServer = reader.ReadToEnd();
        Console.WriteLine(responseFromServer);
        reader.Close();
        response.Close();
        var responseList = responseFromServer.Split('\n').ToList();
        var remaining = sqlList.Where(x => !responseList.Contains(x)).ToList();   
        var remaining1 = responseList.Where(x => !sqlList.Contains(x)).ToList();  
        var table = new Table();
        foreach(var row in remaining1)
        {
            var tableRow = new TableRow();
            foreach (var cell in row.Select(item => new TableCell { Text = item.ToString()}))
            {
                tableRow.Cells.Add(cell);
            }
            table.Rows.Add(tableRow);
        }
        Page.Controls.Add(table);
    }

Как я могу это исправить? Заранее спасибо.

1 Ответ

0 голосов
/ 29 октября 2018

Если вы получаете список строк, вы можете использовать буквальное управление:

var label = new Literal() { Mode = LiteralMode.PassThrough };
label.Text = string.Join("<br />", remaining1);                
Controls.Add(label);

Если вы получаете html в теле, вам нужно его избежать:

foreach (var line in remaining1)
{
     var label = new Literal() { Mode = LiteralMode.Encode };
     label.Text = line;                
     Controls.Add(label);
     Controls.Add(new Literal(){Mode = LiteralMode.PassThrough,Text = "<br />"});
}
...