记录点日常代码,备忘。
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)" />
在页面开始部分写方法,如下:
==================记录一个特坑的问题
复制一个mvc页面,然后修改view的名字,这样可以快速的开发一个页面;我现在碰到一个问题是:页面加载特别慢,发布到服务器后直接提示报错。路由、慢sql、页面资源加载等都查过了,仍未解决。
这个问题n年前碰到过一次,原因是复制的页面重命名虽然成功了,不知道为什么,内部名称其实是未修改的,导致发布到服务器上后路由找不到页面资源。这时候只需要重新新建一个空页面,然后将代码复制进去即可。