2017-08-07 249 views
0

任何人都可以幫助我在.html頁面中使用if statement在.html模板頁面中使用if語句(在<span>標記中)

我有一個etemplate.html頁面。在其<span>標籤裏面,我有一些{values},我從後面的代碼填充。這樣的:在C#中

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta charset="utf-8" /> 
</head> 
<body> 
    <div style="border-top:3px solid #22BCE5">&nbsp;</div> 
    <span style="font-family:Arial;font-size:10pt"> 

     Hi <b>{Name}</b>,<br /><br />  
     Thank you for your order. Your project ID is {ProjId}. Your order 
     description is {description}.<br /><br /> 

    // for {summary} == "" the below code shows if(!=""){---... 
    //I have tried using <% %> tags but not working 

     if({summary}!=""){ 
      Your project summary is {summary}. 
     } 
</span> 
</body> 
</html> 

我的填充方法是:

private string PopulateConfirmationEmailBody(string Name, string ProjId, 
string description, string summary) 
     { 
      string body = string.Empty; 
      using (StreamReader reader = new 
      StreamReader(Server.MapPath("~/etemplate.html"))) 
      { 
       body = reader.ReadToEnd(); 
      } 
      body = body.Replace("{Name}", Name); 
      body = body.Replace("{ProjId}", ProjId); 
      body = body.Replace("{description}", description); 
      body = body.Replace("{summary}", summary); 
      return body; 
} 

任何幫助,將不勝感激。提前致謝..!!

+0

選中此:https://forums.asp.net/t/1944993.aspx?How+to+use+if+else+condition+to+display+text+in+HTML+ – Sujith

+0

@Sujith感謝您建議,但正如我所提到的,我已經嘗試使用<% %>,但不工作 – Preet

+0

現在你實際上沒有做任何事情來運行你的HTML代碼。你需要通過像Razor這樣的解析器運行它,它將運行嵌入式代碼並輸出純html。 – juharr

回答

0

您的代碼被解析爲HTML,因爲您在if之前寫的最後一件東西是<br />標記。因爲你永遠不會告訴解析器你試圖編寫C#代碼,所以它認爲if是一個文本HTML字符串if,應該輸出到頁面。

您需要使用<%%>代碼開始和的if結束的條件,因爲你寫的裏面它,否則會拋出另一種解析錯誤HTML

<span style="font-family:Arial;font-size:10pt"> 
    Hi <b>{Name}</b>,<br /><br />  
    Thank you for your order. Your project ID is {ProjId}. Your order 
    description is {description}.<br /><br /> 

    <% if({summary}!="") { %> 
     Your project summary is {summary}. 
    <% } %> 

</span> 

要麼使用的<% %>兩套獨立的如上,或明確說明你與Response.Write()編寫HTML:

<span style="font-family:Arial;font-size:10pt"> 
    Hi <b>{Name}</b>,<br /><br />  
    Thank you for your order. Your project ID is {ProjId}. Your order 
    description is {description}.<br /><br /> 

    <% if({summary}!="") { 
     Response.Write("Your project summary is {summary}."); 
    <% } 

</span> 

希望這有助於! :)

+0

感謝您的幫助,但它不適用於我我試過使用這些標籤 – Preet

+0

你可以解釋如何使用response.write相同。謝謝 – Preet

+0

已更新,以涵蓋該內容。 –