• ItemAdding实现数据验证中文字段,properties.AfterProperties值为null的问题


    最近写事件接收器,发现中文字段如果直接用properties.AfterProperties[“申请人"]这样获取的值为null,无法得到值。后拉忽然发现用英文字段可以得到值。难道中文字段需要编码?经过测试果真如此。

    代码部分如下:

    public override void ItemAdding(SPItemEventProperties properties)
    {
           base.ItemAdding(properties);
           //得到站点
            SPWeb web = properties.OpenWeb();
           //如果web不为空
            if (web != null)
            {
                 //得到列表
                   SPList list = web.Lists[properties.ListId];
                  //如果列表不为空
                   if (list != null)
                  {
                       //得到字段
                       string fieldName = list.Fields.GetField(WorkLeaveConfig.WorkLeave_Title).InternalName;
                       //得到值
                       string WorkTitle = properties.AfterProperties[fieldName] == null ? string.Empty : properties.AfterProperties[fieldName].ToString();
                       //得到值
                       if (WorkTitle.IndexOf("测试") >= 0)
                     {
    
                           properties.ErrorMessage = "无法请假!";
                           properties.Cancel = true;
                      }
                 }
            }
               
     }
    效果图如下:
    clip_image002
  • 相关阅读:
    Jenkins的安装及使用[转]
    JAVA服务巡检项
    Kafka小结
    网络是怎样连接的
    redis扩容手册
    [WinUI3] 如何自定义桌面应用标题栏
    winform代码生成器分享
    微信支付微信回调通知验签
    Sql创建数据和表
    使用 链接服务器执行SELECT、UPDATE、INSERT 或 DELETE 及其它命令
  • 原文地址:https://www.cnblogs.com/love007/p/2471261.html
Copyright © 2020-2023  润新知