• Insist


    1、怎么自动截断文本?

        如题,当数据库中的数据内容超出了要显示的长度时,如果不采取措施,会破坏页面的布局美观,所以可以采用自动截断文本,需要查看的时候再把其他的内容显示出来。

       没截断的时候如下图:

    再视图中添加如下代码便可实现截断功能:

    @helper Truncate(string input, int length)
    {
        if (input.Length <= length)
        {
            @input
        }
        else
        {
            @input.Substring(0, length)<text>...</text>
        }
    }
    <td>
        @Truncate(item.Title, 25)  
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Price)
    </td>

    看到后面的省略号没有,那就是效果:

    2、MVC怎么分页?

       当要把数据库中的数据以分页的形式显示出来,可以用到一个分页插件PagedList,可以在VS2013中MSDN论坛搜索下载即可。

       首先在bin文件夹下右键点击管理NuGet程序包,搜索并引用程序集:

           

      然后在控制器Index动作中添加如下代码:

    public ActionResult Index(int page = 2)
    {
          const int PageSize = 1;
          Models.MvcBookStoreEntities1 db = new Models.MvcBookStoreEntities1();
          var Iuser = db.Books.OrderBy(p => p.BookId).ToPagedList(page, PageSize);
          return View(Iuser);
    }

    在相应视图中添加如下代码,便可以实现分页了:

    @Html.PagedListPager((IPagedList)Model, page => Url.Action("Index", new { page }), new PagedListRenderOptions { LinkToPreviousPageFormat = "上一页", LinkToNextPageFormat = "下一页", MaximumPageNumbersToDisplay = 5 })

    效果如下图所示:

    3、怎么使用Linq中的Take和ToList方法

        首先在Index动作中添加如下代码:

    Models.MvcBookStoreEntities1 db = new Models.MvcBookStoreEntities1();
    var data = db.Categories.Take(5).ToList();
    return View(data);

        然后在添加视图,把原视图调整一下:

    <ol>
        @foreach (var item in Model)
        {
            <li>
                <h5>
                    @Html.ActionLink(@item.Name, "Browse", new { id = @item.CategoryId })
                </h5>
            </li>
        }
    </ol>

        运行结果如下图:

    4、怎么使用@Html.ActionLink()和@Url.Action():

        @Html.ActionLink()可以有3个参数,比如:

    @Html.ActionLink(@item.Name, "Browse", new { id=@item.CategoryId})

        第一个参数是要显示出来的字段,第二个是控制器中动作方法名,第三个是要传递的参数

        @Url.Action()可以有两个参数,比如:

    <a href="@Url.Action("Details",new {id=book.BookId})">

        第一个参数动作名,第二个是要传递到Details中的参数。

    电放费

  • 相关阅读:
    关于jar项目发布(windows)
    SpringBoot 基础(一) mybatis 通过druid配置多数据库
    redis 基础(二) Redis安装
    测试开发3年,我决定去读个名校硕士
    大厂程序员凡尔赛的一天
    假如我拥有字节工牌。。。
    上海有哪些牛逼的互联网公司?
    那些学计算机的女生后来都怎么样了?
    微信支付零花钱刷屏了!5万额度,能花又能借
    清华集训 part1
  • 原文地址:https://www.cnblogs.com/772933011qq/p/4553413.html
Copyright © 2020-2023  润新知