Контрол для выбора города из базы Geo.WebMoney

Пример использования

    <head>
    <title>Select City control</title>
    <link type="text/css" href="https://geo.webmoney.ru/find/cities/css/jquery-ui.css?dt=13" rel="stylesheet" media="all"/>
    <link type="text/css" href="https://geo.webmoney.ru/find/cities/css/wm-jqueryui.css?dt=13" rel="stylesheet" media="all"/>
    </head>

    <body>
        <form id="formMain" runat="server">
           <div>
              <input type="text" id="citySearchTextBox" />
           </div>
        </form>
    </body>

    <script type="text/javascript" src="https://geo.webmoney.ru/find/cities/js/jquery-2.0.0.min.js?dt=<%=DateTime.Now.Ticks%>"></script>
    <script type="text/javascript" src="https://geo.webmoney.ru/find/cities/js/jquery-ui-X.XX.X.js?dt=<%=DateTime.Now.Ticks%>"></script>
    <script type="text/javascript" src="https://geo.webmoney.ru/find/cities/js/geo-city-search-ex.js?dt=<%=DateTime.Now.Ticks%>"></script>

    <script type="text/javascript">

       <% string data = Guid.NewGuid().ToString(); %> <!-- GUID формы. Любой GUID в нижнем регистре //-->
       <% const string guid = "147A883F-A0DF-48F1-86FA-F25CAD8BD0BD";%><!-- GUID полученный при регистрации тут: http://geo.webmoney.ru/find/RegisterServiceUser.aspx //-->
       <% string hash = Utils.CreateUserHash(data,guid); %><!-- Hash MD5 рассчитанный для data и guid //-->

        var data = '<%=data%>';

        $(document).ready(function() {
                $("#citySearchTextBox").citySelector({
                    userGuid: '<%=guid%>',
                    userData: '<%=data%>',
                    userHash: '<%=hash%>', 
                    width: 500, <!-- ширина текстового поля выбора города //-->
                    onComplete: function(selectedCity) {
                        <!-- Метод, который будет вызван по завершению выбора города //-->
                        alert(selectedCity.id);
                        alert(selectedCity.value);
                    }
                });
            });
    </script>

Формирование Hash для проверки

hash = data;guid;password

  • data — проверочный GUID, идентификатор формы. Данные всегда в нижнем регистре
  • guid — GUID пользователя
  • password — пароль пользователя
        public static string CreateUserHash(string data, string guid, string password)
        {
            data = data ?? string.Empty;
            data = data.Trim().ToLowerInvariant();
            string hash = HashMD5(string.Format("{0};{1};{2}", data, guid, password)).ToUpperInvariant();
            return hash;
        }