如果在webgrid中验证失败,则显示图像

时间:2015-04-06 01:22:05

标签: asp.net-mvc razor webgrid

如何根据Webgrid中的验证失败显示图像(一个或多个)图标/图像,代码如下:

以下代码未经任何验证即可显示。

 @grid.GetHtml(
        displayHeader: false,
        columns: grid.Columns(
                grid.Column(header: "Serial Number", format: @<input type="text" id="SerialNumber" name="serialNumber_@(item.WebGrid.Rows.IndexOf(item))" value="@item.SerialNumber" /> 
            ));

如果验证失败,我想在<input旁边显示图标。

我试过这样的事情:

grid.Column(header: "Serial Number", format: @<input type="text" id="SerialNumber" name="serialNumber_@(item.WebGrid.Rows.IndexOf(item))" value="@item.SerialNumber" />**@if(item.SerialNumberFailed !=null) {<div><img src=\"failed.gif\" /></div>}**)

1 个答案:

答案 0 :(得分:2)

我能够想通 - 希望这会有所帮助。

grid.Column(header: "Serial Number", format: (item) =>
{
int row = item.WebGrid.Rows.IndexOf(item);
string value = item.Location;
if (!string.IsNullOrEmpty(item.ValidationFailed.LocationValidationFailed))
{
return Html.Raw(string.Format("
<input type=\"text\" id=\"Serial Number\" name=\"location_{0}\" value=\"{1}\" />
<div class=\"input-group\">
    <span class=\"fa fa-chain-broken redcolor\" title=\"wrong Serial Number\" </span>
</div>
", row, value));
}
else
{
return Html.Raw(string.Format("
<input type=\"text\" id=\"Location\" name=\"location_{0}\" value=\"{1}\" />", row, value));
//
}
}),