在 asp.net 中突出显示新记录
Posted
技术标签:
【中文标题】在 asp.net 中突出显示新记录【英文标题】:Highlight new record in asp.net 【发布时间】:2014-02-12 09:46:05 【问题描述】:我在我的项目中使用转发器..所以当用户添加新文档时,当我们在 gmail 帐户中看到新电子邮件时,我想突出显示与 gmail 相同的新添加文档,然后电子邮件以粗体显示,然后我们可以看到有人发送电子邮件 与添加新记录时我想要的一样,然后如何以其他方式突出显示或识别? 这是中继器代码..
<table class="CSSTableGenerator" border="0" cellpadding="0" cellspacing="0" id="results">
<asp:Repeater ID="Repeater2" OnItemCommand="Repeater2_ItemCommand" runat="server"
OnItemDataBound="Repeater2_ItemDataBound">
<HeaderTemplate>
<tr>
<%-- <td>
DocumentID
</td>--%>
<td>
Document Name
</td>
<td>
File Name
</td>
<td>
Uploaded By
</td>
<td>
Uploaded Date
</td>
<td>
Email
</td>
<td>
Department
</td>
<td>
Status
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<asp:HiddenField ID="DocId" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "DocID")%>' />
<%--<asp:Label Id="DocId" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DocID")%>'></asp:Label>--%>
<td>
<asp:Label ID="DocName" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "DocumentName")%>'></asp:Label>
</td>
<td>
<asp:Label ID="Uploadfile" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Uploadfile")%>'></asp:Label>
</td>
<td>
<asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "UploadedBy")%>'></asp:Label>
</td>
<td>
<asp:Label ID="UploadedDate" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "UploadedDate")%>'></asp:Label>
</td>
<td>
<asp:Label ID="YourEamil" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "UserEmail")%>'></asp:Label>
</td>
<td>
<asp:Label ID="DepType" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Department")%>'></asp:Label>
</td>
<td>
<asp:Label ID="lblCountry" runat="server" Text='<%# Eval("ApproveID") %>' Visible="false" />
<asp:HiddenField ID="hfDepartmentId" runat="server" Value='<%# Eval("ApproveID") %>' />
<asp:DropDownList ID="DropDownList4" runat="server" EnableViewState="true" class="vpb_dropdown1"
DataTextField="ApproveType" DataValueField="ApproveID" AutoPostBack="true" OnSelectedIndexChanged="DropDownList4_SelectedIndexChanged">
<asp:ListItem Text="Pending" Selected="selected" Value="3"></asp:ListItem>
<asp:ListItem Text="Approve" Value="1"></asp:ListItem>
<asp:ListItem Text="Reject" Value="2"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
这是用户上传文件时的sp
ALTER procedure [dbo].[fileupload]
@DocDesciption nvarchar(50),
@DocName nvarchar(50),
@Uploadfile nvarchar(50),
@DocTypeID int,
@DepID int,
@UploadedBy nvarchar(50),
@UserID int
as
insert into DocumentInfo(DocDesciption,DocName,UploadedDate,Uploadfile,DocTypeID,DepID,UploadedBy,ApproveID,UserID,Viewed )
values(@DocDesciption,@DocName,GETDATE(),@Uploadfile,@DocTypeID,@DepID,@UploadedBy,3,@UserID,'false')
好的,当我上传新文档并在表格中显示这样我请检查此图片 table pic
在 .aspx 中我是这样设置的
<tr class="<%# DataBinder.Eval(Container.DataItem, "ViewedID") == "1" ? "highlight" : string.Empty %>">
存储过程已编辑...
ALTER procedure [dbo].[UserIDDoc]
@UserID int
as
Select DISTINCT
dbo.DocumentInfo.DocID as DocumentID,
dbo.DocumentInfo.DocName as DocumentName,
dbo.DocumentInfo.UploadedDate as UploadedDate,
dbo.DocType.DocType as Document,
dbo.Department.DepType as Department, dbo.DocumentInfo.Uploadfile as FileUploaded,
dbo.ApproveType.ApproveType AS Status ,
dbo.DocumentInfo.ViewedID
FROM dbo.DocumentInfo inner JOIN dbo.DocType ON dbo.DocumentInfo.DocTypeID=dbo.DocType.DocTypeID
inner JOIN dbo.Department ON dbo.DocumentInfo.DepID=dbo.Department.DepID
inner join dbo.viwed on dbo.DocumentInfo.ViewedID=dbo.Viwed.ViewedType
inner join dbo.ApproveType on dbo.DocumentInfo.ApproveID=dbo.ApproveType.ApproveID
left JOIN dbo.Approval ON dbo.DocumentInfo.DocID = dbo.Approval.DocID
where UserID=@UserID
但是当我查看文档时,文档不是粗体或突出显示 检查这张照片
pic
在approvtype表中,我的数据库中看起来像这样
ApproveID ApproveType
1 Approve
2 Reject
3 Pending
【问题讨论】:
你在哪里添加新记录?你能粘贴那部分代码吗? 在中继器中...... 我通过插入添加。 【参考方案1】:如果您有办法知道文档是否已被读取,或者您的数据库中是否有“已打开”标志,那么这完全是 CSS 的问题。做类似的事情
<ItemTemplate>
<tr class="<%# DataBinder.Eval(Container.DataItem, "ReadFlag") == "1" ? "highlight" : string.Empty />">
如果您有任何疑问,请告诉我。
【讨论】:
数据库中的打开标志是什么? 当我尝试你的答案时,这向我显示错误...错误“DataBinding:'System.Data.DataRowView' 不包含名为'ReadFlag'的属性。” 老兄,“ReadFlag”是您需要创建的东西。该标志将区分文档是否已打开。 好的,当我在表中创建 ues/no 列时,如何在 vs08 中设置? 您使用上面的代码突出显示它。调用标志以检查文档是否已被读取。如果它是假的,那么突出它,否则不要。以上是关于在 asp.net 中突出显示新记录的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 asp.net 在 gridview 中突出显示搜索结果?
使用 jQuery 突出显示选定的 ASP.NET DataGrid 行
使用 JavaScript 在 Asp.net mvc 中突出显示 html 文档表达式