记录点日常代码,备忘。

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年前碰到过一次,原因是复制的页面重命名虽然成功了,不知道为什么,内部名称其实是未修改的,导致发布到服务器上后路由找不到页面资源。这时候只需要重新新建一个空页面,然后将代码复制进去即可。