2010-09-08 13 views
0

j'ai une image:javascript méthode post - comment appeler asp.net mvc action onClick?

<img onclick="Search()" alt="searchPage" style="vertical-align: middle;" height="17px" 
    src="../../Stylesheets/search.PNG" title="search" /> 

et javascript Methode:

<script language="javascript" type="text/javascript"> 

    function Search() { 
     alert("test-search"); 
     var searchText = $("#txtSearch").val(); 
     var queryString = "SearchText=" + searchText; 
     $.post("/Search/Search", queryString, callBackSearch, "_default"); 
    } 

</script> 

comment puis-je appeler une action de recherche SearchController? dans mon js methode c'est jquery $ .post est-ce? mais je ne veux pas utiliser jQuery dans mon projet.

aidez-moi s'il vous plaît.

Répondre

1

Si vous ne voulez pas utiliser un javascript vous pouvez créer une forme simple contenant la zone de texte et un bouton d'envoi d'image:

<% using (Html.BeginForm()) { %> 
    <%= Html.TextBoxFor(x => x.TxtSearch) %> 
    <input type="image" alt="searchPage" style="vertical-align: middle;" height="17px" src="../../Stylesheets/search.PNG" title="search" /> 
<% } %> 

ou si votre vue n'est pas fortement typé comme il devrait être que vous pourriez utiliser l'aide suivante pour générer la zone de texte:

<%= Html.TextBox("TxtSearch") %> 
+0

Je ne comprends pas comment cela pourrait m'aider? $ –

+0

$ .post ("/ Recherche/Recherche", queryString, callBackSearch, "_default"); J'ai besoin de changer quelque chose dans ma méthode je pense. Je ne peux pas appeler une action du contrôleur seacrch –

+0

Si je comprends bien votre question, vous cherchiez un moyen d'envoyer des données à une action de contrôleur donnée sans utiliser javascript. Si ce n'est pas le cas, essayez d'expliquer quel est votre objectif. '$ .post' est utilisé pour envoyer une requête AJAX. Est-ce ce que vous êtes après? –