2013-04-07 109 views
1

我正在使用HTML模板的电子邮件,我想隐藏它的一张桌子在一些条件后面的代码,我该怎么做,请建议我。 我想知道我该怎么做,我无法找到任何方式,请告诉我任何方式从这里出来,在此先感谢。 我的代码是:如何隐藏和显示使用C#的HTML模板表?

if (File.Exists(appPath + "\\rptBookDetails.Template")) 
     { 
      FinalOutPut = File.ReadAllText(appPath + "\\rptBookDetails.Template"); 

      FinalOutPut = FinalOutPut.Replace("{AccessionNo}", dsBookDetails.Tables[0].Rows[0]["AccessionNo"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Title}", dsBookDetails.Tables[0].Rows[0]["TITLE"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Edition}", dsBookDetails.Tables[0].Rows[0]["EDITION"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Volume}", dsBookDetails.Tables[0].Rows[0]["Volume"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Authors}", dsBookDetails.Tables[0].Rows[0]["Authors"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Pages}", dsBookDetails.Tables[0].Rows[0]["PAGES"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Publication}", dsBookDetails.Tables[0].Rows[0]["PUB_PLACE"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{PublicationYear}", dsBookDetails.Tables[0].Rows[0]["YEAR_O_PUB"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Price}", dsBookDetails.Tables[0].Rows[0]["COST"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Supplier}", dsBookDetails.Tables[0].Rows[0]["AccessionNo"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{BillNo}", dsBookDetails.Tables[0].Rows[0]["BILL_NO"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{BillDate}", dsBookDetails.Tables[0].Rows[0]["DT_O_BILL"].ToString()); 
      FinalOutPut = FinalOutPut.Replace("{Grant Source}", dsBookDetails.Tables[0].Rows[0]["GRANT_SR"].ToString()); 

     } 

我想要做的是,如果我没有在数据库中图书详细然后我不想以显示HTML出把表。请帮我

<table width="84%" border="1" align="center" cellpadding="0" cellspacing="0"> 
      <tr> 
       <td width="30%" align="left" valign="top"> 
        Accession No. 
       </td> 
       <td width="2%"> 
        : 
       </td> 
       <td width="68%" align="left" valign="top"> 
        B10 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Title 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Title} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Edition 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Edition} 
       </td> 
      </tr> 
     <tr> 
      <td align="left" valign="top"> 
        Volume 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Volume} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Authors 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Authors} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Pages 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Pages} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        &nbsp; 
       </td> 
       <td> 
        &nbsp; 
       </td> 
       <td align="left" valign="top"> 
        &nbsp; 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Publication Place 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Publication} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Publication Year 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {PublicationYear} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        &nbsp; 
       </td> 
       <td> 
        &nbsp; 
       </td> 
       <td align="left" valign="top"> 
        &nbsp; 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Price 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Price} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Source of Purchase 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Supplier} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Bill No. 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {BillNo} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Bill Date 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {BillDate} 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        Grant Source 
       </td> 
       <td> 
        : 
       </td> 
       <td align="left" valign="top"> 
        {Grant Source} 
       </td> 
      </tr> 
    </table> 

<table width="97%" id="tblHistry" border="1" align="center" cellpadding="2" cellspacing="0"> 
      <tr> 
       <th> 
        Sr 
       </th> 
       <th> 
        Trans. Id 
       </th> 
       <th> 
        Borrower Id 
       </th> 
       <th> 
        Issue Date 
       </th> 
       <th> 
        Expected Return Date 
       </th> 
       <th> 
        Actual Return Date 
       </th> 
       <th> 
        Fine 
       </th> 
       <th> 
        Fine Status 
       </th> 
       <th> 
        Issue Remarks 
       </th> 
       <th> 
        Return Remarks 
       </th> 
      </tr> 
      {HistoryTable} 
     </table> 

我想隐藏和显示tblHistry条件,请帮助我。

+0

向我们展示模板代码。如果可用,最好显示生成实际HTML表的代码(我猜你正在使用库)。 – Xaqron 2013-04-07 12:02:41

+0

@Xaqron请查看更新后的问题 – Ram 2013-04-07 12:08:04

回答

3

现在在后面的代码中perticular事件的代码写入文件使用ASP面板控制,并把该面板内的表...

Panelname.visible=true; 

OR

Panelname.visible=false; 
1

考虑到你的表是动态创建并存储在一个字符串中,而不是一个控件。

有两种方法可以实现您所需的功能;

路1

修改模板,包括另一个标签更换风格=“{} CSSStyle”在你想隐藏/显示的表的表。

<table width="97%" id="tblHistry" style="{CSSStyle}" border="1" align="center" cellpadding="2" cellspacing="0"> 

在代码后面执行以下操作来显示表格;

FinalOutPut = FinalOutPut.Replace("{CSSStyle}", ""); 

while while below to hide it;

FinalOutPut = FinalOutPut.Replace("{CSSStyle}", "display:none"); 

路2

关闭在类似下面2个自定义标签的tblHistry表;

[HistoryTable] 
    <table width="97%" id="tblHistry" cellpadding="2" cellspacing="0"> 
    .... 
    </table> 
[/HistoryTable] 

在代码后面的代码中使用下面的代码来隐藏和显示表;

string strHistoryTableOpeningTag = "[HistoryTable]"; 
string strHistoryTableClosingTag = "[/HistoryTable]"; 
int intStartPos = 0; 
int intEndPos = 0; 

if (blnWantToHide == True) { 
    //Remove history table 
    intStartPos = FinalOutPut.IndexOf(strHistoryTableOpeningTag); 
    intEndPos = FinalOutPut.IndexOf(strHistoryTableClosingTag) + strHistoryTableClosingTag.Length; 

FinalOutPut = FinalOutPut.Remove(intStartPos, intEndPos - intStartPos); 
} else { 
    //Remove unwanted tags 
    FinalOutPut = FinalOutPut.Replace(strHistoryTableOpeningTag, ""); 
    FinalOutPut = FinalOutPut.Replace(strHistoryTableClosingTag, ""); 
} 

就我个人而言,我会选择方式2,因为它更整洁,而且不会有不需要的隐藏HTML。