2016-11-29 3 views
-2

Ich verwende dieses Plugin: http://www.jqueryscript.net/form/City-Autocomplete-Plugin-with-jQuery-Google-Places-API.html, um Städte in meiner Anwendung Autovervollständigung zu erreichen. Ich habe einen separaten Ordner mit benötigten Skripten und HTML-Datei nur für den Test und alles funktioniert gut. Wenn ich diesen Code in meinem Projekt platziere, funktioniert das nicht. Ich habe viel Zeit damit verbracht, dieses Problem zu lösen, aber ohne Erfolg. Kennt jemand die Lösung? Danke im Voraus.Städte Autovervollständigen in ASP.NET MVC

Testordner:

enter image description here

Index-Datei:

enter image description here

Wirkung:

enter image description here

Kopfteil meiner Anwendung:

enter image description here

Körperabschnitt meiner Anwendung:

enter image description here

Edit:

_Layout Code:

<!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) 

Inhalt der Datei in @RenderBody gemacht:

@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:

Nun, wenn alles funktioniert ich ein Problem mit polnischen Buchstaben haben. Diese Änderung:

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

hat nicht geholfen.

enter image description here

Es zum Beispiel sein sollte "Misdroy".

+0

Bitte teilen Sie uns mit, wenn Sie Fehler in der Konsole haben –

+0

Es gibt keine Fehler. Autocomplete funktioniert einfach nicht. – Artur

+0

Bitte lösche '@ Script.Render' und' @ Style.Render' vom Anfang der Seite. –

Antwort

1

1) Lösung ist Ihre layout in Ihrer Ansicht, weil Sie Skripte aus dem Layout verwenden müssen.

@using PortalAukcyjny.Models 
@model Rejestracja 

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

2) Sie müssen einen API-Schlüssel einschließen.

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

@ Artur, bitte versuchen Sie es jetzt. –

+0

Ich habe diesen Code hinzugefügt: @ { Layout = "~/Views/Shared/_Layout.cshtml" ; ViewBag.Title = "Etwas"; } aber immer noch ohne Wirkung. – Artur

+0

Und wenn Sie Ihre Skripte in Sicht aufnehmen? –