如何在 Mvccontrib 网格模型中使用自定义列?

2024-03-24

我正在使用 ASP.NET MVC 3 Mvccontrib 网格,如下所示:

@Html.Grid(Model).Columns(column =>
{
  column.For(x => x.UserId).Named("ID");
  column.For(x => x.Name);
  column.Custom(@<div><img src='@item.ImageUrl' alt="@item.Name"/><a href="@item.Link">@item.Name</a></div>).Named("Name");
  column.For(x => x.Score).Named("Score");
})

但现在我需要将其移至自定义网格模型中:

@Html.MvcContrib().Grid(Model).WithModel(new MyGridModel()).Sort(ViewData["sort"] as GridSortOptions).Attributes(id => "grid", style => "width: 100%;")

与相应的网格模型:

public class MyGridModel : GridModel<MyModel>
{
  public MyGridModel()
  {
    Column.For(x => x.UserId);
    Column.For(x => x.Name);
    Column.For(x => x.ImageUrl);
    RenderUsing(new HtmlTableGridRenderer<MyModel>());
  }
}

但是如何在网格模型中创建自定义列呢?
Column.Custom(???);


尝试这样:

public class MyGridModel : GridModel<MyModel>
{
    public MyGridModel()
    {
        Column.For(x => x.UserId);
        Column.For(x => x.Name);
        Column.Custom(MyImage);
        Column.For(x => x.Score);
        RenderUsing(new HtmlTableGridRenderer<MyModel>());
    }

    private static IHtmlString MyImage(MyModel model)
    {
        var div = new TagBuilder("div");
        var img = new TagBuilder("img");
        var a = new TagBuilder("a");
        img.Attributes["src"] = model.ImageUrl;
        img.Attributes["alt"] = model.Name;
        a.Attributes["href"] = model.Link;
        a.SetInnerText(model.Name);

        div.InnerHtml = string.Format(
            "{0}{1}",
            img.ToString(TagRenderMode.SelfClosing),
            a.ToString()
        );

        return MvcHtmlString.Create(div.ToString());
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Mvccontrib 网格模型中使用自定义列? 的相关文章

随机推荐

  • 如何隐藏使用 Electron 构建的 NodeJS 解决方案的源代码(asar 文件)? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我寻找隐藏使用 Electron 构建的解决方案代码的最佳方法 有任何想法吗 使用 Electron 构建解决方案asar 文件不够
  • 如何让BMP填充JPanel

    如何让BMP填满JPanel import java awt Dimension import java awt Graphics import java awt Graphics2D import java awt Image impor
  • 在 Angular 中使用 fxLayoutGap 时,每行最后一个元素的填充问题

    我目前面临一个大问题https www npmjs com package angular flex layout https www npmjs com package angular flex layout图书馆 问题是fxLayout
  • 生成随机日期

    如何生成特定日期范围内的一组 12 个随机日期 我认为以下方法会起作用 sample as Date 1999 01 01 as Date 2000 01 01 12 但结果看起来像是一组随机数字 谢谢 seq有一个类方法Date适用于此
  • LINQ to SQL:并发解析

    鉴于此 LINQ to SQL using var db Database Context var root from post in db Post where post Id rootPostId select post Single
  • Haskell 将 Hom Functor/Monad 称为什么?

    我想在我的代码中使用它 并且不想重复它 但由于它只涉及大量通用单词 如 函数 或 组合 我无法通过搜索找到它 完全具体地说 我正在寻找 instance Functor x gt where fmap f p f p 这是基本的读取器 或环
  • 在 Java Swing 中播放视频

    我正在做一个关于视频隐写术的项目 我想到在Java Swing中播放这2个视频文件 以便更容易地比较文件 所以我想知道我们是否可以在 Swing 中播放视频 请帮帮我 您可能想看看Java媒体框架 http www oracle com t
  • 在 django 中获取相关值而不出现DoesNotExist 错误的最佳实践

    如果我在 Django 中有两个模型 class Blog models Model author models CharField class Post models Model blog models ForeignKey Blog 我
  • AJAX 不处理 302 重定向

    我在外部服务器上有一个数据库 我正在尝试查询该数据库 为此 我将在本地服务器 Tomcat 上创建一个 AJAX 调用 只是 XMLHttpRequest 对象 我没有使用任何 JavaScript 库 到附加了查询的页面 将完全相同的 U
  • 如何将数据从 Windows 窗体保存到 XML 文件?

    我非常确定我必须首先创建 XML 文件的某种模型 对吧 任何帮助将不胜感激 一种简单的方法是创建 NET 类 将数据放入其中然后使用Xml序列化器 http msdn microsoft com en us library system x
  • 在 Google 地图 v3 中绘制两点之间的路线时行为不一致

    场景 我试图在两者之间画一条路线n使用 Google 地图 v3 的点 纬度 局域网 为此 我正在使用DirectionsService它为我提供了一条路线 然后我将该坐标推入MVCArray然后使用 a 绘制该路径Polyline The
  • 饮食例外

    我正在解析一个不时包含格式错误的数据的文件 它抛出一个异常 我想从异常中恢复并忽略格式错误的数据 最好的方法是什么 try parse file catch Exception eat it EDIT 我认为 我的问题没有被很好地理解 我想
  • 如何在Flutter中将CameraController的XFile转换为Image类型?

    扑动的CameraController has a takePicture 从相机拍照的方法 给出了类型Future
  • 有没有办法不用每次验证就使用Google Api?

    我尝试在 PC 上的自动运行中使用 python 上的 API 但我不能 因为每次程序启动时 它都会询问我授权码 这是我的代码 client secret file client secret json flow google auth o
  • postgresql 分区上的唯一索引

    我有一个名为 cdrs 的表 CREATE TABLE cdrs i cdr bigint NOT NULL i cdrs connection bigint NOT NULL i call bigint NOT NULL customer
  • 单线程异步处理

    即使读完之后http krondo com p 1209 http krondo com p 1209 or 异步调用是否总是创建 调用新线程 https stackoverflow com questions 598436 does an
  • 像alert()函数一样停止页面执行

    当我写作时alert Hello 页面执行停止并等待批准才能继续 我有一个div设置为使用 HTML 显示为虚假警报 thisdiv有一个 确定 按钮 我希望页面停止执行 就像警报一样 直到用户单击 确定 是否可以 你不能 只有特殊的内置程
  • 如何将消息从 Flutter 传递到 Native?

    如果需要与特定 API 硬件组件交互 您如何将信息从 Flutter 传递回 Android Native 代码 是否有任何事件通道可以以其他方式发送信息或类似于回调的方式 The 平台频道 https flutter io platfor
  • 使用不同的密钥对同一文档中的 Xml 元素进行签名

    业务场景 更新可以包含包 包可以包含更改 每个包裹都必须经过某人的批准 批准后 不得更改套餐 要执行更新 必须具有 100 批准的软件包 发展思路 所有数据均保存为 XML 文件 Xml 包 元素将在批准后签署 Problem 无论我尝试什
  • 如何在 Mvccontrib 网格模型中使用自定义列?

    我正在使用 ASP NET MVC 3 Mvccontrib 网格 如下所示 Html Grid Model Columns column gt column For x gt x UserId Named ID column For x