在ASP.NET中检查标签的内容

时间:2011-12-23 21:41:13

标签: asp.net label

这非常奇怪。

基本上,我正在使用ASP.NET。我想要的是从标签中获取.Text值。

最初,标签实际上是完全空的。但是,经过一些互动和点击等后,标签会发生变化。

现在....我想简单地访问该特定标签的内容......但是...... ASP.NET认为它的内容仍然是空的。

作为测试,我将标签的内容更改为明显的类似“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 :(得分:0)

首先,如果可能的话,使用String.Format()而不是手动替换字符串片段。

如何更改标签的文字?你是在客户端用JavaScript做的吗? html标签,span,粗体和大量标签的文本不会发送回服务器。如果要更改某些内容的值,并将其发送回服务器,则必须是文本框或textarea。或者您必须使用手动编码的JavaScript来发送值,并使用自定义服务器端逻辑来获取值。

答案 1 :(得分:0)

我设法修复了我的代码。以下作品:

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