加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 以Razor语法为Telerik MVC Grid定义一个Template

发布时间:2020-12-16 00:21:35 所属栏目:asp.Net 来源:网络整理
导读:我有以下遗留代码,我想模仿,一列中的所有动作链接。但是,我似乎无法得到Razor语法。我应该如何在剃须刀上表达? ASPX列模板是这样的: .Columns(column ={ column.Template(o = {% %= Html.ActionLink("Edit","Edit",new{ id = o.DeviceID}) % | %= Html.
我有以下遗留代码,我想模仿,一列中的所有动作链接。但是,我似乎无法得到Razor语法。我应该如何在剃须刀上表达?

ASPX列模板是这样的:

.Columns(column =>
{
    column.Template(o =>
        {%>
            <%= Html.ActionLink("Edit","Edit",new{ id = o.DeviceID}) %> | 
            <%= Html.ActionLink("Delete","Delete",new { id = o.DeviceID })%>
        <%});

我只能使用Razor获得三个独立的列,而不是对语法等的投诉,如下所示:

.Columns(columns =>
{
    columns.Template(o => @Html.ActionLink("Edit",new { id = o.ProductId })).Width(50);
    columns.Template(o => @Html.ActionLink("Details","Details",new { id = o.ProductId })).Width(50);
    columns.Template(o => @Html.ActionLink("Delete",new { id = o.ProductId })).Width(50);

如何使用Razor语法定义一个包含所有三个操作链接的模板列?

编辑:在下面的Mike的答案中尝试下面的小改编,我得到错误“只有赋值,调用,增量,减量和新的对象表达式可以用作一个语句”:

columns.Template(o => @<text>@Html.ActionLink("Edit",new { id = o.CampaignId }) | 
                        @Html.ActionLink("Delete",new { id = o.CampaignId })
                        </text>).Width(100);

解决方法

这是一个快速的样本,显示了绑定列和模板列:

样本#1使用@< text>< / text>句法

@(Html.Telerik().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(m => m.UserName);
        columns.Bound(m => m.Email);
        columns.Template(@<text> @Html.ActionLink("Edit",new { id = item.UserId} ) | 
                                 @Html.ActionLink("Delete",new { id = item.UserId)  
                         </text>).Width(100);
    })
 )

Sample#2使用Action代理

@(Html.Telerik().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(m => m.UserName);
        columns.Bound(m => m.Email);
        columns.Template(m => @Html.ActionLink("Edit",new { id = m.UserId} ) + " | " +
                              @Html.ActionLink("Delete",new { id = m.UserId)  
                         ).Width(100);
    })
 )

希望有帮助,如果还没有弄明白。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读