gpt4 book ai didi

asp.net-mvc - 有条件地在 webgrid 中显示图像 - mvc 3

转载 作者:行者123 更新时间:2023-12-02 10:46:46 25 4
gpt4 key购买 nike

在我的网络网格中,我需要根据值显示图像..代码如下给出

@model TraktorumMVC.Models.ManagePhotos
@{
ViewBag.Title = "ManagePhotos";
Layout = "~/Views/Shared/_Layout.cshtml";
var grid = new WebGrid(Model.AdPhotos);
}


@grid.GetHtml(
displayHeader: false,
columns: grid.Columns(
grid.Column(format: (item) =>
{
if (item.IsMainPreview == true)
{
return @<text><img src="@Url.Content("~/Content/images/preview-photo.gif")" alt="Image "/></text>;
}
else
{
return @<text><img src="@Url.Content("~/Content/images/non-preview-photo.gif")" alt="Image "/></text>;
}
}
),
grid.Column(format: (item) => Html.ActionLink("Remove Photo", "RemovePhoto", "Images", new { photoID = @item.Id }, new { @class = "RemovePhoto" }))
));

我不确定如何在 webgrid 中使用 if 。我刚刚尝试过。它不起作用。出现以下错误

The best overloaded method match for 'System.Web.Helpers.WebGrid.Column(string, string, System.Func<dynamic,object>, string, bool)' has some invalid arguments

最佳答案

grid.Column方法的format参数中,您将组合一个lambda表达式,以便您当然可以使用if。但问题是,当您在 Razor 中处于“代码模式”时,无法使用 @ 来输出 HTML。因此,您需要将图像标签创建包装到 HtmlHelper 中(例如内置的 Html.ActionLink 有很多 examples )或使用 HTML.Raw 方法返回 HTML:

@grid.GetHtml(
displayHeader: false,
columns: grid.Columns(
grid.Column(format: (item) =>
{
if (item.IsMainPreview == true)
{
return Html.Raw(string.Format("<text><img src=\"{0}\" alt=\"Image\"/></text>", Url.Content("~/Content/images/preview-photo.gif")));
}
else
{
return Html.Raw(string.Format("<text><img src=\"{0}\" alt=\"Image\"/></text>", Url.Content("~/Content/images/non-preview-photo.gif")));
}
}
),
grid.Column(format: (item) => Html.ActionLink("Remove Photo", "RemovePhoto", "Images", new { photoID = item.Id }, new { @class = "RemovePhoto" }))
));

另外,在最后一行而不是 new { photoID = @item.Id } 中,您应该编写 new { photoID = item.Id }
要了解更多关于 Razor 这里有详细的tutorial .

关于asp.net-mvc - 有条件地在 webgrid 中显示图像 - mvc 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7866051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com