当前位置: 首页>>代码示例>>C#>>正文


C# RouteValueDictionary.Has方法代码示例

本文整理汇总了C#中RouteValueDictionary.Has方法的典型用法代码示例。如果您正苦于以下问题:C# RouteValueDictionary.Has方法的具体用法?C# RouteValueDictionary.Has怎么用?C# RouteValueDictionary.Has使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RouteValueDictionary的用法示例。


在下文中一共展示了RouteValueDictionary.Has方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: BuildUrl


//.........这里部分代码省略.........
							return null; // different value => no match
					}
				}
			}

			// We're a match, generate the URL
			var ret = new StringBuilder ();
			usedValues = new RouteValueDictionary ();
			bool canTrim = true;
			
			// Going in reverse order, so that we can trim without much ado
			int tokensCount = tokens.Length - 1;
			for (int i = tokensCount; i >= 0; i--) {
				PatternToken token = tokens [i];
				if (token == null) {
					if (i < tokensCount && ret.Length > 0 && ret [0] != '/')
						ret.Insert (0, '/');
					continue;
				}
				
				if (token.Type == PatternTokenType.Literal) {
					ret.Insert (0, token.Name);
					continue;
				}

				string parameterName = token.Name;
				object tokenValue;

#if SYSTEMCORE_DEP
				if (userValues.GetValue (parameterName, out tokenValue)) {
					if (tokenValue != null)
						usedValues.Add (parameterName, tokenValue.ToString ());

					if (!defaultValues.Has (parameterName, tokenValue)) {
						canTrim = false;
						if (tokenValue != null)
							ret.Insert (0, tokenValue.ToString ());
						continue;
					}

					if (!canTrim && tokenValue != null)
						ret.Insert (0, tokenValue.ToString ());

					continue;
				}

				if (defaultValues.GetValue (parameterName, out tokenValue)) {
					object ambientTokenValue;
					if (ambientValues.GetValue (parameterName, out ambientTokenValue))
						tokenValue = ambientTokenValue;

					if (!canTrim && tokenValue != null)
						ret.Insert (0, tokenValue.ToString ());

					usedValues.Add (parameterName, tokenValue.ToString ());
					continue;
				}

				canTrim = false;
				if (ambientValues.GetValue (parameterName, out tokenValue)) {
					if (tokenValue != null)
					{
						ret.Insert (0, tokenValue.ToString ());
						usedValues.Add (parameterName, tokenValue.ToString ());
					}
					continue;
开发者ID:rabink,项目名称:mono,代码行数:67,代码来源:PatternParser.cs


注:本文中的RouteValueDictionary.Has方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。