了解触发器表达式,这些表达式可用于创建触发器条件,从而在 SharePoint 中配置 Web 服务标注。
触发器表达式语法中使用的元素
可用于触发表达式的元素有:
运算符
托管属性值访问
文字
函数
常量
注意
字符串“Null”是为值 Null 保留。
触发器表达式语法中的运算符
表 1 按从高到低的优先顺序说明触发表达式语言支持的运算符。 同一类别中的运算符的优先级相同。 多种运算符具有两种版本的语法。
表 1. 触发表达式语法支持的运算符
| 类别 | 表达式 | 说明 |
|---|---|---|
| 一元 |
- !、NOT |
算术否定 逻辑否定 |
| 乘 |
* / %、mod |
乘 部门 求余 |
| 加 |
+ - & |
添加项 减 字符串连接 |
| 关系 |
=、== !=, <> < > <= >= |
相等 不等于 小于 大于 小于或等于 大于或等于 |
| 逻辑与 |
&&、AND |
逻辑与 |
| 逻辑 OR |
OR |
逻辑 OR |
触发表达式中的托管属性访问
已爬网项中的托管属性通过其名称进行引用;名称不在引号 ("") 内且区分大小写。
触发表达式中的文字
以下数据类型可表达为文字: String、 Int32、 Double 和 Boolean。
触发表达式中的函数
广泛的函数集合,范围从数学函数(例如) Floor 到用于特定数据类型的函数(例如 Lists)。 这些函数可以单独使用,也可以嵌套使用。
bool? ListContains<T>(IList<T> list, T obj)int? Count<TElement>(IList<TElement> list)TElement Item<TElement>(IList<TElement> list, int? index)bool IsInsideRange(DateTime? date, long? fromTicks, long? toTicks)DateTime Now()DateTime? ToDate(string date, string format)int? Day(DateTime? date)int? DayOfWeek(DateTime? date)int? DayOfYear(DateTime? date)int? GetDatePart(DateTime? date, DatePartConstant datePartConstant)int? Hour(DateTime? date)int? Minute(DateTime? date)int? Month(DateTime? date)int? Quarter(DateTime? date)int? Second(DateTime? date)int? Year(DateTime? date)long? GetDateDiff(DateTime? occursFirst, DateTime? occursLast, DatePartConstant datePartConstant)string Extension(string arg)string FileName(string arg)string FileName(string arg, bool? excludeExtension)bool IsNull(object value)bool? IsDate(string input, string format)object IfThenElse(bool? condition, object thenBranch, object elseBranch)decimal? Ceiling(decimal? number)decimal? Floor(decimal? number)double? Ceiling(double? number)double? Floor(double? number)double? Sqrt(double? number)bool? Contains(string arg, string contained)bool? EndsWith(string arg, string suffix)bool? IsMatch(string input, string pattern)bool? IsMatch(string input, string pattern, int? start, RegexOptionConstant options)bool? IsMatch(string input, string pattern, RegexOptionConstant options)bool? IsNullOrEmpty(string input)bool? StartsWith(string arg, string prefix)int? IndexOf(string arg, string toFind)int? IndexOfRegex(string input, string regex)int? LastIndexOf(string arg, string toFind)int? Length(string arg)string Match(string input, string pattern)string Match(string input, string pattern, int? start, int? length, RegexOptionConstant options)string Match(string input, string pattern, int? start, RegexOptionConstant options)string Match(string input, string pattern, RegexOptionConstant options)string Substring(string arg, int? start)string Substring(string arg, int? start, int? length)string ToLower(string arg)string Trim(string value)
触发表达式中的常数
有两组常数可用于特定的函数: DatePartConstant 和 RegexOptionConstant。 表 2 列出这些常数的其中两个示例及其用途。
表 2. SharePoint 中的触发器表达式常量和用法
| 常数组 | 示例 | 使用 |
|---|---|---|
| DatePartConstant |
Day、 Month、 Year、 Hour、 Minute、 Second。 |
用于 GetDatePart 函数 |
| RegexOptionConstant |
IgnoreCase |
用于 IsMatch、 Match、 ReplaceRegex 和 IndexOfRegex 函数。 |