如何使用c#隐藏和显示html模板中的表格
本文关键字:表格 html 显示 何使用 隐藏 | 更新日期: 2023-09-27 18:08:06
我使用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">
</td>
<td>
</td>
<td align="left" valign="top">
</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">
</td>
<td>
</td>
<td align="left" valign="top">
</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>
我想在条件下隐藏和显示历史,请帮助我。
使用asp面板控件并将您的表放置在面板中…现在在文件后面的代码中,在特定事件代码中写入
Panelname.visible=true;
或
Panelname.visible=false;
考虑到您的表是动态创建的,并且存储在String中,而不是Control。
有两种方法可以达到你的目的;
方式1
修改模板并包含另一个要替换的标签style="{CSSStyle}"在你想要隐藏/显示的表格中
<table width="97%" id="tblHistry" style="{CSSStyle}" border="1" align="center" cellpadding="2" cellspacing="0">
在后面的代码中执行以下操作来显示表;
FinalOutPut = FinalOutPut.Replace("{CSSStyle}", "");
当下面隐藏它;
FinalOutPut = FinalOutPut.Replace("{CSSStyle}", "display:none");
方式2
在2个自定义标签中关闭tblhistory表,如下所示;
[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。