C MVC에서 아무것도 보여이이 코드가jQueryu의 UI를 자동 완성이 나던 #
@{
ViewBag.Title = "Index";
}
<script src ="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" />
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script type="text/javascript">
$(function() {
$("#SearchString").autocomplete({
source: "/Borrar/autocompletar",
minLength: 1,
select: function (event, ui) {
if (ui.item) {
$("#SearchString").val(ui.item.value);
}
}
});
});
</script>
<div class="container col-md-10 col-md-offset-3">
<h2>Autocompletar</h2>
@using (Html.BeginForm())
{
<p>
Empresa: @Html.TextBox("SearchString")
<input type="submit" value="Search" />
</p>
}
</div>
내보기의 코드 텍스트 상자
public JsonResult autocompletar(string prefix)
{
List<GFC_Site.ViewModels.EmpresaAutocomplete> listado = new List<GFC_Site.ViewModels.EmpresaAutocomplete>();
ProxyGFC.ServiceGFCClient cliente = new ProxyGFC.ServiceGFCClient();
List<WcfService.Entidades.EmpresaAutocomplete> listadoBase = new List<WcfService.Entidades.EmpresaAutocomplete>();
listadoBase = cliente.Autocompletar(prefix);
foreach (var item in listadoBase)
{
GFC_Site.ViewModels.EmpresaAutocomplete dato = new ViewModels.EmpresaAutocomplete();
dato.empresa = item.empresa;
//dato.np = item.np;
listado.Add(dato);
}
return Json(listado, JsonRequestBehavior.AllowGet);
}
을 채워야 컨트롤러의 (GFC_Site.ViewModels.EmpresaAutocomplete)는 하나의 문자열 속성 (Empresa 연락처) 및 (ProxyGFC.ServiceGFCClient의 cliente)와 클래스이다
는 WCF 서버에 연결이되면, WCF는 응용 프로그램과 데이터를 연결하는 것입니다. base (ListheradoBase List)는 두 개의 속성 (empresa 및 np)이있는 WCF의 클래스입니다.
이 내가
public List<EmpresaAutocomplete> Autocompletar(string prefix)
{
OdbcCommand cmd = Helper.Commandos.CrearComando();
cmd.CommandText = "select numero_patronal, nombre_empresa from empresas where estado= ? and nombre_empresa like ?";
cmd.Parameters.Add("@estado", OdbcType.VarChar).Value = "1";
cmd.Parameters.AddWithValue("@empresa", prefix + "%");
List<EmpresaAutocomplete> data = new List<EmpresaAutocomplete>();
try
{
cmd.Connection.Open();
var reader = cmd.ExecuteReader();
while (reader.Read())
{
EmpresaAutocomplete datos = new EmpresaAutocomplete();
datos.np = reader["numero_patronal"].ToString();
datos.empresa = reader["nombre_empresa"].ToString();
data.Add(datos);
}
}
catch (Exception ex)
{
throw new ApplicationException("Excepcion :", ex);
}
return data;
}
아니라 텍스트 상자에 표시 할 것을 정보를 검색 WCF의 방법은, 내 문제는 텍스트 상자가 나던 것을 보여 것을 실제로 냉동 도착입니다
문제의 원인을 알려주십시오. 우리가 jQuery를 UI 스크립트 파일과 CSS 파일에 대한 참조를 추가하는 경우
<label for=”somevalue”>Some value:</label><input type=”text” id=”somevalue” name=”somevalue”/>
, 우리는 스크립트를 추가 할 수 있습니다
왜 설정 않았다'minLength'를? 얼마나 많은 물품이 반환됩니까? SQL 쿼리는 어떻게 생겼습니까? – DigiFriend
코드를 디버깅 할 때 컨트롤러 결과가 정확합니까? – Aline
@Aline 네, 적법한 기록을 반환하지만 tetxbox는 그걸 보여주지 않습니다 –