I need to send the SQL query data to the View, I noticed that all the data comes, how could I send only the SQL query information?
//
// GET: /ConsultaCliente/
public ActionResult Index()
{
//não retornar os registros
sistema_mobileEntities dao = new sistema_mobileEntities();
TempData["titulo1"] = "Consulta Registro";
return View(dao.cliente.ToList());
}
[HttpPost]
public ActionResult Index(string recebeNome, int recebeOpcao)
{
try
{
sistema_mobileEntities dao = new sistema_mobileEntities();
IQueryable<cliente> sql;
sql = null;
if (recebeOpcao == 1)
{
//link to sql não tem like
sql = from c in dao.cliente
where c.nome.StartsWith(recebeNome.Trim())
// where SqlMethods.Like(c.nome, recebeNome.Trim() + "%")
select c;
TempData["opcao1"] = "nome";
}
if (recebeOpcao == 2)
{
sql = from c in dao.cliente
where c.pai.StartsWith(recebeNome.Trim())
select c;
TempData["opcao2"] = "pai";
}
if (recebeOpcao == 3)
{
sql = from c in dao.cliente
where c.mae.StartsWith(recebeNome.Trim())
select c;
TempData["opcao3"] = "mae";
}
return View(sql.ToList());
}
catch (Exception ex)
{
return Json("Erro ao consultar cliente" + ex.Message);
}
}
@model List<SistemaMobile.Models.cliente>
@{
ViewBag.Title = "";
}
<script>
function Selecionar()
{
var opcao1 = document.getElementById('radio-choice-v-2a').checked;
var opcao2 = document.getElementById('radio-choice-v-2b').checked;
var opcao3 = document.getElementById('radio-choice-v-2c').checked;
var txtPesquisa = document.getElementById('pesquisa').value;
var Resposta
if (opcao1 != false) {
Resposta = 1
// alert("selecionou a opção " + Resposta);
}
if (opcao2 != false) {
Resposta = 2
// alert("selecionou a opção " + Resposta);
}
if (opcao3 != false) {
Resposta = 3
// alert("selecionou a opção " + Resposta);
}
if (txtPesquisa != null) {
// alert("enviando os parametros");
if (Resposta > 0) {
$.post("/ConsultaCliente/Index", { recebeNome: txtPesquisa, recebeOpcao: Resposta }).done(function (data) {
// window.location.reload();
})
}
}
else {
alert("Adicionar um texto para pesquisa!")
}
}
</script>
<form >
<fieldset data-role="controlgroup">
<legend>Opção:</legend>
<input type="radio" name="radio-choice-v-2" id="radio-choice-v-2a" value="1" >
<label for="radio-choice-v-2a">Seu Nome</label>
<input type="radio" name="radio-choice-v-2" id="radio-choice-v-2b" value="2" >
<label for="radio-choice-v-2b">Nome do Pai</label>
<input type="radio" name="radio-choice-v-2" id="radio-choice-v-2c" value="3" >
<label for="radio-choice-v-2c">Nome da Mãe</label>
</fieldset>
<fieldset>
<label for="search">Localizar:</label>
<input type="search" name="search1" id="pesquisa" placeholder="buscar registro...">
</fieldset>
<input id="enviar" type="submit" value="Localizar" onclick="Selecionar()" data-icon="grid" data-iconpos="right" data-theme="e">
</form>
<p>@TempData["titulo1"]</p>
<p>@TempData["erro"]</p>
<ul data-role="listview" data-autodividers="true" data-inset="true" data-theme="e">
@foreach (var item in Model)
{
<li><a href="@Url.Action("AtualizaCliente", "ConsultaCliente", new { id = item.idcliente})">@Html.DisplayFor(c => item.nome) </a></li>
}
</ul>