Проверка содержимого метки в ASP.NET - PullRequest
0 голосов
/ 24 декабря 2011

Это очень, очень странно.

В основном я использую ASP.NET.Я хочу получить значение .Text из метки.

Изначально ярлык на самом деле совершенно пустой.Однако после некоторого взаимодействия, нескольких щелчков и т. Д. Метка меняется.

Теперь .... Я хочу просто получить доступ к содержимому этой конкретной метки ... НО .... ASP.NET считает, что это содержимоеВСЕ ЕЩЕ пусто.

В качестве теста я изменил содержимое ярлыка на что-то очевидное, например, "lol".

Затем я повторил процедуру.Теперь .... На этот раз результаты проверки содержимого после всех взаимодействий, кликов и т. Д. Оказались "lol" ...

Это означает, что ASP не отслеживает текущие изменения,Он просто помнит, каковы были начальные значения.

Причина, по которой я проверяю содержимое, заключается в том, что я хочу отправить электронное письмо.Ниже мой код:

  MailMessage email = new MailMessage();
    email.Subject = "****";
    email.To.Add(txtEmailTo.Text);
    email.From = new MailAddress("****");
    email.IsBodyHtml = true;
    string emailBody = "<h2>Journey Details</h2><br><strong>From</strong>: %From%<br><strong>To</strong>: %To%<br><strong>Price</strong>: %Price%<br><hr><br>Kind Regards, <br><br>";
    String newBody = emailBody;
    newBody.Replace("%From%", lblResultsFrom.Text);
    email.Body = newBody;

    try
    {
        SMTPServer.Send(email);
    }

    catch (Exception ex)
    {
        lblError.Text = ex.ToString();
    }

Ответы [ 2 ]

0 голосов
/ 29 декабря 2011

Мне удалось исправить мой код.Следующие работы:

var SMTPServer = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new System.Net.NetworkCredential("..", "..."),
        };

        MailMessage email = new MailMessage();
        email.Subject = "...";
        email.To.Add(txtEmailTo.Text);
        email.From = new MailAddress("..");
        email.IsBodyHtml = true;
        string emailBody = "...";
        String newBody = emailBody;
        email.Body = newBody;

        try
        {
            SMTPServer.Send(email);
        }

        catch (Exception ex)
        {
            lblError.Text = ex.ToString();
        }
0 голосов
/ 24 декабря 2011

Во-первых, используйте String.Format () вместо ручной замены фрагментов строки, если это возможно.

Как изменить текст метки?Вы делаете это на стороне клиента с помощью JavaScript?Текст метки html, span, bold и много тегов не отправляется обратно на сервер.Если вы хотите изменить значение чего-либо и отправить его обратно на сервер, это должно быть текстовое поле или текстовое поле.Или вам придется использовать код JavaScript, написанный вручную, для отправки значения и пользовательскую логику на стороне сервера, чтобы получить значение.

...