Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用MVC在输入字段中自动建议_Javascript_C#_Asp.net Mvc_Asp.net Mvc 4_C# 4.0 - Fatal编程技术网

Javascript 使用MVC在输入字段中自动建议

Javascript 使用MVC在输入字段中自动建议,javascript,c#,asp.net-mvc,asp.net-mvc-4,c#-4.0,Javascript,C#,Asp.net Mvc,Asp.net Mvc 4,C# 4.0,实际上,我希望在我的输入字段中实现自动建议。所以我的控制器中有一些结果集。我附加在这里的代码 控制器 public ActionResult Index() { string ProfileUrl = "http://localhost:64413/api/CorporateName/CorporateDetails?pid=" + 5999 + ""; System.Net.Http.HttpClient DashBoardclient = ne

实际上,我希望在我的输入字段中实现自动建议。所以我的控制器中有一些结果集。我附加在这里的代码

控制器

    public ActionResult Index()
    {
        string ProfileUrl = "http://localhost:64413/api/CorporateName/CorporateDetails?pid=" + 5999 + "";
        System.Net.Http.HttpClient DashBoardclient = new System.Net.Http.HttpClient();
        DashBoardclient.BaseAddress = new Uri(ProfileUrl);
        DashBoardclient.DefaultRequestHeaders.Accept.Clear();
        DashBoardclient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
        HttpResponseMessage dashboardresponseMessage = DashBoardclient.GetAsync(ProfileUrl).Result;
        var DashboardData = dashboardresponseMessage.Content.ReadAsStringAsync().Result;

        JavaScriptSerializer jss = new JavaScriptSerializer();
        List<Corporate> dbresult = (List<Corporate>)jss.Deserialize(DashboardData, typeof(List<Corporate>));

        string GroupID = null;
        string CompanyName = null;

        foreach (Corporate dbresults in dbresult)
        {
            GroupID = dbresults.GroupID;
            CompanyName = dbresults.GroupName;

        }

        return View("Index", dbresult);
    }
public ActionResult Index()
{
字符串配置文件URL=”http://localhost:64413/api/CorporateName/CorporateDetails?pid=" + 5999 + "";
System.Net.Http.HttpClient DashBoardclient=新系统.Net.Http.HttpClient();
DashBoardclient.BaseAddress=新Uri(ProfileUrl);
DashBoardclient.DefaultRequestHeaders.Accept.Clear();
DashBoardclient.DefaultRequestHeaders.Accept.Add(新系统.Net.Http.Headers.MediaTypeWithQualityHeaderValue(“应用程序/json”));
HttpResponseMessageDashboardResponseMessage=DashBoardclient.GetAsync(ProfileUrl).Result;
var DashboardData=dashboardresponseMessage.Content.ReadAsStringAsync().Result;
JavaScriptSerializer jss=新的JavaScriptSerializer();
List dbresult=(List)jss.Deserialize(仪表板数据,typeof(List));
字符串GroupID=null;
字符串CompanyName=null;
foreach(企业数据库结果在数据库结果中)
{
GroupID=dbresults.GroupID;
CompanyName=dbresults.GroupName;
}
返回视图(“索引”,dbresult);
}
因此,这里我调用API并将结果存储在dbresult中,dbresult有两个参数(GroupId,GroupName)公司是模型

查看页面

@model ClinicSystemMVC.Models.Corporate
        @using (Html.BeginForm())
        {
           @Html.AntiForgeryToken()
           @Html.ValidationSummary(true)

            <div class="form-group">
                @Html.LabelFor(model => model.GroupName)
                  <div class="col-sm-9">
                     @Html.EditorFor(model => model.GroupName, new { @class = "form-control" })
                  </div>                            
            </div>
                }
@model-ClinicSystemMVC.Models.Corporate
@使用(Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@LabelFor(model=>model.GroupName)
@EditorFor(model=>model.GroupName,新的{@class=“form control”})
}
我刚才只提到了一个div,我希望它能自动推荐

Javascript

<script type="text/javascript">  
$(document).ready(function () {  
    $("#GroupName").autocomplete({  
        source: function (request, response) {  
            $.ajax({  
                url: "/Home/Index",  
                type: "GET",  
                dataType: "json",  
                data: { Prefix: request.term },  
                success: function (data) {  
                    response($.map(data, function (item) {  
                        return { value: item.GroupName};  
                    }))  

                }  
            })  
        },  
        messages: {  
            noResults: "", results: ""  
        }  
    });  
})  

$(文档).ready(函数(){
$(“#组名”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“/Home/Index”,
键入:“获取”,
数据类型:“json”,
数据:{前缀:request.term},
成功:函数(数据){
响应($.map)(数据,函数(项){
返回{value:item.GroupName};
}))  
}  
})  
},  
消息:{
否结果:“”,结果:“”
}  
});  
})  

有了这个附加的代码,我无法实现自动建议。输入字段没有列出任何内容。那么,我如何更改代码以在输入字段中实现自动建议呢


谢谢你的帮助。提前感谢

您的代码甚至无法编译—您将
列表
传递到一个需要单个
公司
的视图。您试图对控制器中的
foreach
循环做什么?您在哪里声明了
GroupID
CompanyName
?(而且您甚至不用它们)与
自动完成
相关联的ajax调用需要调用一个返回
JsonResult
的方法实际上我试图创建另一个变量来存储foreach的结果。但是当我累的时候,它只返回循环的最后一个值。foreach循环后的代码如下所示:var Faclities=new professionals();{Faclities.GroupID=GroupID;Faclities.GroupName=GroupName;}我假设您显示的视图不是
Index.cshtml
。您
Index()
方法需要
返回Json(DashboardData,JsonRequestBehavior.AllowGet)
(并删除从
JavaScriptSerializer jss=…
开始的所有代码,它们必须是两个独立的方法!