ASP.NET MVC 4自动完成无法正常工作

时间:2014-04-03 19:33:45

标签: asp.net-mvc asp.net-mvc-4 autocomplete

你好我有一个简单的MVC自动完成,我测试的代码,它在我创建一个“空”mvc项目时工作,但是当我在intenet应用程序中执行确切的代码时它不起作用,它永远不会达到自动完成方法。有任何想法吗?如此有线。谢谢

家庭控制器

static List<Students> _students = new List<Students>() { 
        new Students{id=1,Name="Bob", Grade="B"},
        new Students{id=2,Name="Billy", Grade="A"},
        new Students{id=3,Name="Mike", Grade="B"}
    };

    public ActionResult AutoMethod(string term)
    {
       //....
    }


    public ActionResult Index()
    {
        return View(_students);
    }

索引视图

@model IEnumerable<MvcApplication1.Models.Students>

  <script src="~/Scripts/jquery-1.10.2.js"></script>
 <script src="~/Scripts/jquery-ui-1.10.4.custom.min.js"></script>
 <link href="~/Content/jquery-ui-1.10.4.custom.min.css" rel="stylesheet" />


<script type="text/javascript">
   $(function () {
     $("#searchText").autocomplete({
        source: '@Url.Action("AutoMethod")'
    });

});

@using (Html.BeginForm()){
     @Html.TextBox("searchText");
    <input type="submit" value="submit" />
}
 <table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Name)
      </th>
      <th>
          @Html.DisplayNameFor(model => model.Grade)
      </th>

  </tr>

  @foreach (var item in Model)
  {
      <tr>
          <td>
              @Html.DisplayFor(modelItem => item.Name)
          </td>
          <td>
              @Html.DisplayFor(modelItem => item.Grade)
          </td>
      </tr>
  }

2 个答案:

答案 0 :(得分:1)

请在浏览器中查看生成的HTML代码,可能是您多次引用JavaScript文件。建议不要从视图中引用常用的JavaScript文件;请改用_SiteLayour.cshtml或MVC的“Bundling and minification”功能。

答案 1 :(得分:0)

将这些内容添加到自动填充代码的顶部:

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/excite-bike/jquery-ui.css" type="text/css" />
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script src='http://code.jquery.com/ui/1.10.3/jquery-ui.js'></script>

jQuery.noConflict();添加到您的函数中:

 $(function () {
     jQuery.noConflict();
     $("#searchText").autocomplete({
        source: '@Url.Action("AutoMethod")'
    });