示例#1
0
 private void UpdateNavigateUrlIfRequired()
 {
     if (!this.isQuertyParametersInitializied && this.QueryParameters.Count > 0)
     {
         string text = base.NavigateUrl;
         if (string.IsNullOrEmpty(text))
         {
             throw new ArgumentException("NavigateUrl must be specified, QueryParameters is used.");
         }
         foreach (Binding binding in this.QueryParameters)
         {
             StaticBinding staticBinding = (StaticBinding)binding;
             if (staticBinding.HasValue || !staticBinding.Optional)
             {
                 if (staticBinding.Value is Identity)
                 {
                     text = EcpUrl.AppendQueryParameter(text, staticBinding.Name, ((Identity)staticBinding.Value).RawIdentity);
                 }
                 else
                 {
                     text = EcpUrl.AppendQueryParameter(text, staticBinding.Name, staticBinding.Value.ToString());
                 }
             }
         }
         base.NavigateUrl = text;
         this.isQuertyParametersInitializied = true;
     }
 }