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; } }