在 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 行

Asp.Net Mvc 突出显示当前页面链接技术?

使用 JavaScript 在 Asp.net mvc 中突出显示 html 文档表达式

在 ASP.NET MVC 视图中突出显示 javascript 文件的语法?

ASP.NET 中继器交替行突出显示没有完整的 <alternatingitemtemplate/>