2016-11-29 1 views
-2

Я использую этот плагин: http://www.jqueryscript.net/form/City-Autocomplete-Plugin-with-jQuery-Google-Places-API.html для достижения автозаполнения городов в моем приложении. Я сделал отдельную папку с необходимыми сценариями и html-файлом для тестирования, и все работает нормально. Однако, когда я помещаю этот код в свой проект, он не работает. Я потратил много времени, пытаясь решить эту проблему, но без эффекта. Кто-нибудь знает решение? Заранее спасибо.Города автозаполнения в ASP.NET MVC

папка Test:

enter image description here

Индекс файла:

enter image description here

Эффект:

enter image description here

Головная секция моего приложения:

enter image description here

раздел тела моего приложения:

enter image description here

Edit:

_layout код:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
<title>@ViewBag.Title - something</title> 
@Styles.Render("~/Content/css") 
@Scripts.Render("~/bundles/modernizr") 
<link href="/Content/style.css" rel="stylesheet" /> 

<link rel="stylesheet" type="text/css" href="/Content/city-autocomplete.css" /> 
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&language=en"></script> 
<script src="/Scripts/jquery-1.11.3.min.js" type="text/javascript"></script> 
<script src="/Scripts/jquery.city-autocomplete.js" type="text/javascript"></script> 

</head> 
<body> 



<div class="container body-content"> 

    <div class="row"> 
     <div class="col-lg-8 col-md-8 col-sm-12 col-xs-12 logo-left"> 
      <div class="tymczasowe-logo">Portal aukcyjny</div> 
     </div> 
     <div class="col-lg-4 col-md-4 col-sm-12 col-xs-12 logo-right"> 
      <div class="jumbotron jumbotron-logo-right"> 
       <div class="btn-group btn-group-justified"> 
        @Html.ActionLink("O nas", "WyswietlOnas", "Zakladki", new { area = "" }, new { @class = "btn btn-default" }) 
        @Html.ActionLink("Regulamin", "WyswietlRegulamin", "Zakladki", new { area = "" }, new { @class = "btn btn-default" }) 
        @Html.ActionLink("Kontakt", "WyswietlKontakt", "Zakladki", new { area = "" }, new { @class = "btn btn-default" }) 
       </div> 
      </div> 
     </div> 
    </div> 

    <div class="navbar navbar-default"> 
     <div class="container-fluid"> 
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
      </button> 
      <div class="navbar-collapse collapse" id="myNavbar"> 
       <ul class="nav navbar-nav"> 
        <li>@Html.ActionLink("something", "something", "something")</li> 
        <li>@Html.ActionLink("something", "something", "something")</li> 

       </ul> 

       @Html.Partial("_LoginPartial") 
      </div> 
     </div> 
    </div> 

    @RenderBody() 

</div> 

<footer> 
    <hr /> 
    <p>&copy; @DateTime.Now.Year - something</p> 
</footer> 

@Scripts.Render("~/bundles/bootstrap") 
@RenderSection("scripts", required: false) 

Содержимое файла оказанной в @RenderBody:

@using PortalAukcyjny.Models 
@model Rejestracja 


@{ 
    ViewBag.Title = "something"; 
} 

@using (Html.BeginForm()) 
{ 
    @Html.ValidationSummary(true) 
    <fieldset> 
    <legend>something</legend> 
    @Html.AntiForgeryToken() 
    @if (ViewBag.Message != null) 
    { 
     <div style="border:solid 1px green"> 
      @ViewBag.Message 
     </div> 
    } 


    <div class="editor-label"> 
     @Html.LabelFor(model => model.something.something) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.something.something) 
     @Html.ValidationMessageFor(model => model.somethingy.something) 
    </div> 



    <input id="city" name="city" autocomplete="off" data-country="us" /> 

    <script> 
     $('input#city').cityAutocomplete(); 
    </script> 


    <div class="editor-label"> 
     @Html.LabelFor(m => m.something) 
    </div> 
    <div class="editor-field"> 
     @Html.DropDownListFor(m => m.something, Model.something) 
     @Html.ValidationMessageFor(m => m.something) 
    </div> 



    <p> 
     <input type="submit" value="Create" /> 
    </p> 
</fieldset> 
} 




@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

Edit 2:

Теперь, когда все работает у меня есть проблемы с польскими буквами. Это изменение:

<meta charset="ISO-8859-1"> 

не помогло.

enter image description here

Это должно быть, например, "Międzyzdroje".

+0

Сообщите нам, если у вас есть ошибки в консоли –

+0

Нет ошибок. Автозаполнение просто не работает. – Artur

+0

Пожалуйста, удалите '@ Script.Render' и' @ Style.Render' вверху страницы. –

ответ

1

1) Решение должно включать ваш layout на ваш взгляд, так как вам нужно использовать сценарии из макета.

@using PortalAukcyjny.Models 
@model Rejestracja 

@{ 
    Layout="your_layout_path"; 
    ViewBag.Title = "something"; 
} 

2) Вам нужно включить ключ api.

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" type="text/javascript"></script> 
+0

@Artur, пожалуйста, попробуйте сейчас. –

+0

Я добавил этот код: @ { Layout = "~/Views/Shared/_Layout.cshtml" ViewBag.Title = "something"; }, но все же без эффекта. – Artur

+0

И если вы включаете свои сценарии в поле зрения? –