2011-12-23 13 views
-2

これは非常に奇妙です。ASP.NETでのラベルの内容を確認する

基本的に、私は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(); 
    } 
+0

アプリケーションでViewStateがオフになっていますか? –

答えて

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

まず、可能な場合は、手動で、文字列の断片を置き換えるのではなくString.Format()を使用しています。

ラベルのテキストをどのように変更しますか?あなたはJavaScriptを使ってクライアント側でそれをやっていますか? HTMLラベル、スパン、太字、およびタグのテキストは、サーバーに返されません。何かの値を変更してそれをサーバーに送り返したいのであれば、それはテキストボックスまたはテキストエリアでなければなりません。または、値を送信するために手作業でコード化されたJavaScriptを使用し、値を取得するためにカスタムサーバー側のロジックを使用する必要があります。

+0

私は、ASP.NETの標準C#コードを使ってラベルのテキストを変更しています。 JavaScriptではありません。 – Subby

関連する問題