Pro*_*ofK 15 asp.net-mvc telerik telerik-mvc razor asp.net-mvc-3
我有以下遗留代码,我想模仿,一列内的所有动作链接.但是,我似乎无法正确使用Razor语法.我应该如何在剃刀中表达这一点?
ASPX列模板是这样的:
.Columns(column =>
{
column.Template(o =>
{%>
<%= Html.ActionLink("Edit", "Edit", new{ id = o.DeviceID}) %> |
<%= Html.ActionLink("Delete", "Delete", new { id = o.DeviceID })%>
<%});
Run Code Online (Sandbox Code Playgroud)
我只能使用Razor获得三个单独的列而不会抱怨语法等,如下所示:
.Columns(columns =>
{
columns.Template(o => @Html.ActionLink("Edit", "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", "Delete", new { id = o.ProductId })).Width(50);
Run Code Online (Sandbox Code Playgroud)
如何使用Razor语法定义包含所有三个操作链接的一个模板列?
编辑: 在下面尝试以下对Mike的答案的小改编,我得到错误"只有赋值,调用,递增,递减和新对象表达式可以用作语句":
columns.Template(o => @<text>@Html.ActionLink("Edit", "Edit", new { id = o.CampaignId }) |
@Html.ActionLink("Delete", "Delete", new { id = o.CampaignId })
</text>).Width(100);
Run Code Online (Sandbox Code Playgroud)
mik*_*der 27
以下是显示绑定列和模板列的快速示例:
示例#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", "Edit", new { id = item.UserId} ) |
@Html.ActionLink("Delete", "Delete", new { id = item.UserId)
</text>).Width(100);
})
)
Run Code Online (Sandbox Code Playgroud)
使用Action委托的示例#2
@(Html.Telerik().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(m => m.UserName);
columns.Bound(m => m.Email);
columns.Template(m => @Html.ActionLink("Edit", "Edit", new { id = m.UserId} ) + " | " +
@Html.ActionLink("Delete", "Delete", new { id = m.UserId)
).Width(100);
})
)
Run Code Online (Sandbox Code Playgroud)
希望有所帮助,如果还没有弄明白的话.:)
UPDATE - 在上面的代码示例中添加了隐式定义的"item"参数.它显示了如何在Telerik控件模板中获取Model属性.
更新#2 - korchev在他的代码示例中显示了"@ item.someProperty"语法.在我们的案例中不需要@符号,因为我们在扩展方法中,但为了清楚起见,不要伤害它.
更新#3 - 添加了样本#2代码示例
| 归档时间: |
|
| 查看次数: |
28450 次 |
| 最近记录: |