2014-09-10 52 views
1

我开始在ASP MVC和jQuery中,我尝试获取一些数据并将其填充到文本框中,Ajax请求正常工作,但是当我返回结果时它将不会填充到文本框中... 这里是我的代码:自动完成ASP MVC不填充项目

[HttpPost] 
public JsonResult LookupProjects(string query) 
{ 

    // some code here ... 

    var result_ = (from item in resultProjekte select new { value item.AnzeigeI,  label = item.AnzeigeID + " " + item.Name + " " + item.Kette + " " + item.Ort }); 

    return Json(result_, JsonRequestBehavior.AllowGet); 
} 

的束

var css = new Bundle("~/bundles/less") 
      .Include("~/Content/less/bootstrap.less", 
      "~/Content/epoch.min.css", 
      "~/Content/jquery.ui.autocomplete.css"); 
     css.Transforms.Add(cssTransformer); 
     css.Orderer = nullOrderer; 
     bundles.Add(css); 

     // Scripts 
     var scripts = new Bundle("~/bundles/scripts") 
     .Include("~/Scripts/jquery-{version}.min.js", 
       "~/Scripts/knockout-{version}.js", 
       "~/Scripts/bootstrap.js", 
       "~/ScriptsCustom/custom.js", 
       "~/Scripts/jquery-ui.min.js"); 
     scripts.Transforms.Add(jsTransformer); 
     scripts.Orderer = nullOrderer; 
     bundles.Add(scripts); 

布局(共享)查看

@Styles.Render("~/bundles/less") 
@Scripts.Render("~/bundles/scripts") 
@Scripts.Render("~/bundles/syncfusionScripts") 
.... 

<div class="container-fluid board search-content" id="Search"> 
    @{Html.RenderAction("Create", "Search");} 
</div> 
.... 

@RenderSection("scripts",required : false) 

脚本IM搜索查看

<input id="TextBoxSearch" class="form-control" placeholder="Projekt Id, Ort, Service, Plz ..."> 

$(document).ready(function() { 
     $("#TextBoxSearch").autocomplete({ 
      source: function (request, response) { 
       var projects = new Array(); 
       $.ajax({ 
        async: true, 
        url: "@(Url.Action("LookupProjects", "Search"))", 
        dataType: "json", 
        type: "POST", 
        data: { 
         query: request.term 
        }, 
        success: function (data) { 
         //alert("sucess"); 
         response($.map(data, function (item) { 

          return { 
           label: item.label, 
           value: item.value 
          } 
         })) 
        } 

       }); 

      }, 
      minLength: 3, 

     }); 
    }); 

的使用jQuery的引导

enter image description here

enter image description here

有啥错在这里?我收到搜索到的项目,但文本框不显示建议!我已经甚至利用简单的阵列源

+0

好脚本引用这是错误的第一件事是,这已经无关[标签:ASP经典。 – Paul 2014-09-10 12:08:15

+0

谁在谈论ASP经典? – 2014-09-10 12:28:14

+0

您原本错误地标记了这个问题。 – Paul 2014-09-10 12:47:43

回答

1

我已经执行代码及以下修饰是其工作正常的变化试过..

申报模型这样

public class DemoEntity 
{ 
    public string value { get; set; } 
    public string label { get; set; } 

} 

控制器动作方法

public class HomeController : Controller 
{ 

    [HttpGet] 
    public ActionResult LookupProjects(string query) 
    { 

     // some code here ... 
     var result = new List<DemoEntity>(); 
     for (int i = 0; i < 10; i++) 
     { 

      result.Add(new DemoEntity { label = "Ïtem" + i, value = "Ïtem" + i }); 
     } 

     return Json(result, JsonRequestBehavior.AllowGet); 
    } 

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

<input id="TextBoxSearch" class="form-control" placeholder="Projekt Id, Ort, Service, Plz ..."> 

$(document).ready(function() { 
    $("#TextBoxSearch").autocomplete({ 
     source: function (request, response) { 
      var projects = new Array(); 
      $.ajax({ 
       async: true, 
       url: "@(Url.Action("LookupProjects", "Home"))", 
       dataType: "json", 
       type: "GET", 
       data: { 
        query: request.term 
       }, 
       success: function (data) { 

        //alert("sucess"); 
        response($.map(data, function (item) { 
         return { 
          label: item.label, 
          value: item.value 
         } 
        })); 
       } 

      }); 

     }, 
     minLength: 3 

    }); 
}); 

首先Index.cshtml页面确保添加的jQuery,jQueryUI的和css引用

+0

它不起作用,我认为有一个引用和捆绑问题...你有哪个版本的jquery?用Nuget我得到jQuery的2.1.1和jQuery的Ui 1.11.1但没有CSS文件(这个项目是由另一个人开始,我必须替换他一个月) – 2014-09-10 14:42:19

+0

得到它,必须包括“〜/ Scripts/jquery.validate。 js“, ”〜/ Scripts/jquery.validate.unobtrusive.js“与包 – 2014-09-11 13:04:10

+1

我很高兴帮助你,请将它标记为答案:) – 2014-09-15 10:25:35