2016-08-18 4 views
0

J'ai une vue partielle « _search » qui affiche une liste de données, j'ai ajouté une zone de texte pour la recherche et une recherche de lienrecharger vue partielle Ajax

lorsque je clique sur le lien, je reçois une page d'erreur non définie. comment puis-je exécuter la méthode de recherche et d'affichage e même vue partielle dans ma méthode de recherche Je reviens JSON

 return Json(
     { 
      Data = base.RenderPartialView("_search", model), 
         }, JsonRequestBehavior.AllowGet); 

Affichage de la recherche J'ai changé <a> avec un bouton

<script type="text/javascript"> 
    document.getElementById("myButton").onclick = function() { 
     location.href = '@Url.Action("Search")' 
    }; 
</script> 

<button id="myButton" >search</button> 
+0

Pourquoi vous reviennent '' View' partiel dans JSON result'?. – mmushtaq

+0

Quelle est la bonne façon de le faire? –

+0

Où est votre code pour l'événement click? Comment appelez-vous cette méthode d'action et enfin votre code actuel ne retourne pas la vue partielle! – Shyju

Répondre

0

Vous devez réparer le code parce que vous ne peut pas retourner partialview avec type json et .... La meilleure façon que je vous suggère, avant d'envoyer la question recherchée dans google site Web comment mettre en œuvre cette tâche.

L'aide de lien suivant vous de comprendre comment mettre en œuvre ce travail:

https://www.google.com/search?q=reload+partial+in+mvc&ie=utf-8&oe=utf-8

aussi vous pouvez voir l'exemple de « Auto Refresh Vue partielle dans ASP.NET MVC » dans le lien suivant :

https://www.mindstick.com/Articles/1132/auto-refresh-partial-view-in-asp-dot-net-mvc

Exemple:

Alors, dites que vous avez votre vue avec PartialView, qui doivent être mis à jour par le bouton clic:

<div class="target"> 
    @{ Html.RenderAction("UpdatePoints");} 
</div> 
<input class="button" value="update" /> 

Il y a quelques façons de le faire. Par exemple, vous pouvez utiliser jQuery:

<script type="text/javascript"> 
    $(function(){  
     $('.button')click(function(){   
      $.post('@Url.Action("PostActionToUpdatePoints", "Home")').always(function(){ 
       $('.traget').Load('/Home/UpdatePoints');   
      })   
     }); 
    });   
</script> 

PostActionToUpdatePoints est votre action avec [HttpPost] attribut que vous utilisez pour mettre à jour les points

Si vous utilisez la logique dans votre mise à jour des points UpdatePoints d'action(), peut-être vous oublié d'ajouter l'attribut [HttpPost]:

[HttpPost] 
public ActionResult UpdatePoints() 
{  
    ViewBag.points = _Repository.Points; 
    return PartialView("UpdatePoints"); 
} 

J'espère que cela vous aidera.

Référence:

Updating PartialView mvc 4

+0

pas exactement ce que je cherche, j'ai une vue avec textbox pour la recherche et la liste des données de la DB j'ai besoin quand je clique sur le lien de recherche pour rerfresh la vue avec le résultat –

+0

ok, j'ai trouvé l'exemple dans mon compte github: suivez le lien suivant: https: //github.com/omidnasri/RenderPartialView –