记录点日常代码,备忘。
C# Func是一个委托方法。Fun常用有两个参数,前面的是输入参数,后面的是输出参数(意味着是在另一部分运算中产生的)恰恰是整个方法的返回值
Fnc最多有16个输入参数,有且只有一个输出参数。
下面是写俩使用场景:
1,页面循环checkbox控件,判断哪些是选中
调用:
<div style="font-size: 13px;font-weight:normal;" id="SelectModelColumn">
@foreach (var item in ViewBag.SelectCol)
{
<div class="col-sm-3 newcheckbox2"><span class="glyphicon @(IsChecked(item.ID, ViewBag.needCol) ? " glyphicon-check" : " glyphicon-unchecked" ) " id='@item.ID' name='@item.ID'></span> @(item.Name)</div>
}
</div>
在页面开始部分写方法,如下:
@{
Func<string, string, bool> IsChecked = (val, arrayStr) =>
{
if (string.IsNullOrEmpty(arrayStr))
{
return false;
}
List<string> array = arrayStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList<string>();
return array.Exists(m => m == val);
};
}
2,表格中某一列需要进行值处理:
方法调用:
<input type="text" class="form-control dt_picker" name='ValidDate' id='ValidDate' value="@Dat(item.ValidDate)" />
在页面开始部分写方法,如下:
Func<dynamic, string> Dat = (Str) =>
{
if (Str == null)
{
return "";
}
else if (Verify.IsDate(Convert.ToString(Str)))
{
Str = Convert.ToDateTime(Str).ToString("yyyy-MM-dd");
}
return Str;
};