ASP.NET MVC table 样式

本文介绍如何在ASP.NET MVC中通过Controller和View层整合数据,并使用@model和@foreach等语法进行数据展示。同时,文章提供了一种自定义样式和交互功能的方法,包括鼠标悬停、点击事件的JS实现,以及CSS样式的调整,以实现更丰富的用户交互体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        ASP.NET MVC 可以将视图绑定数据,非常方便地做数据展现。具体做法是在控制器中获取数据,然后采用Return View(data)的方式将数据发送到视图,在视图中使用@model IEnumerable<T>的形式来获取数据,在数据展现时,我们使用@foreaach的方式,具体如下:

1.控制器

public ActionResult Index()
{
   return View(EmployeeViewModel.Employees);
}
2.视图

@model IEnumerable<AspNetMvcDemo.Models.Employee>
3.展示

<table>
    @foreach (var item in @Model)
    {
        <tr>
            <td>@item.Id</td>
            <td>@item.EmloyeeId</td>
            <td>@item.EmloyeeName</td>
            <td>@item.Role</td>
            <td>@item.Department</td>
        </tr>
    }
</table>
效果如下:

非常朴素的效果,并不美观,可以请美工做一些工作,但是美工通常给出的样式是静态页面的。他们只会给出行在选中状态下的css class及鼠标滑过的时候的css class,但是问题来了,我们的这个列表是根据数据生成的,如果给tr标签增加选中的class,所有的行都是选中的,同理,也不能给鼠标滑过的css,这时候我们需要自己写行的mouseover和mouseout函数,同时还要实现click的函数。听起来复杂,做起来很简单。

1.css 样式

<style type="text/css">
    .on{
        background-color:red
    }
    .over{
        background-color:lightblue
    }
    .out{
        background-color:#FFFFFF
    }
</style>
2.js

<script type="text/javascript">
    $(document).ready(function () {
        $("tr").mouseover(function () {
            $(this).addClass("over");
        })

        $("tr").mouseout(function () {
            $(this).removeClass("over");
        })

        $("tr").click(function () {
            $(this).removeClass("over")
            $(this).removeClass("over").addClass("on");
        })
    });
</script>
3.列表
<table id="tab">
    @foreach (var item in @Model)
    {
        <tr>
            <td>@item.Id</td>
            <td>@item.EmloyeeId</td>
            <td>@item.EmloyeeName</td>
            <td>@item.Role</td>
            <td>@item.Department</td>
        </tr>
    }
</table>
效果如下:

鼠标滑过和鼠标选中的样式就都有了。

有的同学会提到多行选中的问题,通常是加check box列,这个有待研究。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值