protected void SetLocation(Web.UI.Sheer.ClientPipelineArgs args) { if (args.IsPostBack) { if (args.HasResult && this.Value.Equals(args.Result) == false) { this.SetModified(); this.SetValue(args.Result); } } else { //show popup var url = UIUtil.GetUri("control:MapLocationPickerDialog"); var value = this.GetValue(); if (!string.IsNullOrEmpty(value)) { url = $"{url}&value={value}"; } Web.UI.Sheer.SheerResponse.ShowModalDialog(url, "800", "600", "", true); args.WaitForPostBack(); } }