2016-07-11 14 views
0

Ich bin im Anschluss an diesen Artikel http://timdwilson.github.io/typeahead-mvc-model/ und in der (e) Teil dieses Artikels verwendet @Html.AutocompleteFor, aber mein Projekt nicht erkennen es. Es hat den Fehler: Html helper dose not contain a definition for autocompleteForHtml Helfer Dosis keine Definition für AutocompleteFor

Schätzen Sie jede Idee zu helfen. Vielen Dank.

+0

'@ Html.AutocompleteFor()' ist eine 'HtmlHelper'-Erweiterungsmethode. Irgendwo in dem Code, den Sie heruntergeladen haben, finden Sie eine Methode mit einer Signatur wie 'öffentliche statische MvcHtmlString AutocompleteFor (diese HtmlHelper htmlHelper ......)' - müssen Sie es finden und fügen Sie dann eine 'using' Anweisung in Ihrer Ansicht das ist der Assemblyname dieser Methode (wahrscheinlich '@ using Controllers.HtmlHelpers;') –

+0

danke Ich werde versuchen –

+0

@StephenMuecke Ich fand ein Objekt 'HtmlHelpers.cs' enthält' öffentliche statische Klasse AutocompleteHelpers {} 'beinhaltet' public static MvcHtmlString AutocompleteFor (dieser HtmlHelper html, Ausdruck > valueExpression, Ausdruck > idExpression, string actionName, string controllername, bool requestFocus, object additionalViewData) {} 'aber wie kann ich den Assemblynamen finden? Vielen Dank für Ihre Aufmerksamkeit wieder –

Antwort

1

@Html.AutocompleteFor() ist eine Erweiterungsmethode für die Klasse HtmlHelper.

Irgendwo in der Code, den Sie heruntergeladen haben, erhalten Sie eine Methode finden, die eine Signatur ähnlich wie

public static MvcHtmlString AutocompleteFor<TModel, TValue>(this HtmlHelper<TModel> htmlHelper ......) 

Betrachtet man die Bilder in Ihrem Link, seine höchstwahrscheinlich in der /Controllers/HtmlHelper.cs Datei haben. An der Spitze der Datei, unter irgendwelchen using Aussagen, werden Sie den Namen des namespace finden

namespace xxxx 
{ 
    public static class ..... 

In der Ansicht hinzufügen (wo xxxx ist der Name des Namespace)

@using xxxx 

Wenn Sie wollen dies in allen Ansichten verfügbar machen, können Sie es zu web.config.cs Datei hinzufügen können, so dass Sie nicht die using Anweisung in der Ansicht benötigen

<system.web> 
    <pages> 
     <namespaces> 
      <add namespace="System.Web.Helpers" /> 
      <add namespace="System.Web.Mvc" /> 
      .... 
      <add namespace="xxxx" /> // add the namespace here 
     </namespaces>