Comment obtenir la valeur de rasoir zone de texte dans le même point de vue?

Je suis en utilisant `@Html.Zone de texte("searchString") d'une page d'affichage. J'ai besoin de cette valeur de la textbox dans

@Html.ActionLink("View Items", "Index", new { id = item.transaction_id, searchString = "Value of textbox"}).

Bien sûr la chaîne de recherche de la partie en html lien d'action n'est pas de travail en ce moment mais j'ai besoin de ce que j'ai itinéraire spécifique qui fonctionne en fonction de la chaîne de recherche.

Comment puis-je passer de la valeur de la zone de texte à l'action de lien?

- je vérifier cette cette,cette,cette et cette.

Ce que j'ai essayé est

<script type = "text/javascript">
var value = document.getElementbyID("searchString").Text;
var link =  @Html.ActionLink("View Items", "Index", new { id = item.transaction_id, searchString = -1});
link.replace(-1,value);
</script>

Toujours pas de chance. Je comprends Rasoir rend à côté serveur.

Mise à JOUR

j'ai suivantes zone de texte en haut de la vue:

    @using (Html.BeginForm("Index", "trans_junction", FormMethod.Get))
{
<p>
    Request No: @Html.TextBox("searchString")
    <span><input type="submit" value="Search Request" /></span>
</p>
}

Cette zone de texte est zone de recherche dans laquelle l'utilisateur peut rechercher des éléments.

il y a un lien d'Action comme suit:

 @Html.ActionLink("View Items", "Index", new { id = item.transaction_id }) |

et un itinéraire config:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}/{searchString}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional, searchString= UrlParameter.Optional }
        );
    }
}

Maintenant, j'ai besoin de transmettre les valeurs que ma carte d'itinéraire via actionlink. Comme suggéré dans la réponse par StephenMuecke, j'ai essayé de modifier mon @using (Html.BeginForm("Index", "trans_junction", FormMethod.Get)) avec @using (Html.BeginForm("Index", "trans_junction", new { id = item.transaction_id }, FormMethod.Get))
mais l'article n'est pas accessible, il.

Lorsque l'utilisateur cliquez sur le bouton rechercher, l'url est http://localhost:57286/trans_junction/Index?searchString=20

si l'utilisateur clic sur le lien d'Action d'url est http://localhost:57286/trans_junction/Index/88

mais j'ai réellement besoin est http://localhost:57286/trans_junction/Index/88/20

qui permettent de préserver le résultat de la recherche et également transmettre l'id.

Je suis l'ajout de captures d'écran pour mieux comprendre.

C'est l'indice de point de vue, sans recherche.

Comment obtenir la valeur de rasoir zone de texte dans le même point de vue?

C'est le résultat de la recherche avec searchString = 10.
Comment obtenir la valeur de rasoir zone de texte dans le même point de vue?

C'est après avoir cliqué sur le lien d'action c'est à dire Afficher les Éléments, Ici des résultats de recherche ne sont pas conservées.
Comment obtenir la valeur de rasoir zone de texte dans le même point de vue?

  • Lorsque vous avez essayé ce code à la fin, quel a été le résultat? Ce qui fait la réelle JavaScript côté client, et ce qui était dans le value et link variables lorsqu'il a exécuté? Je soupçonne fortement votre navigateur de la console montre des erreurs JavaScript lorsque que le code tente d'exécuter. Vous devriez certainement jeter un oeil à ce.
  • Vous trouverez cela beaucoup plus facile si vous utilisez une zone de texte dans un formulaire (avec FormMethod.Get) et le style le bouton soumettre pour ressembler à un lien si que ce que vous voulez (pas de scripts nécessaires). Mais tout ce que vous script est fait, c'est la mise à jour de la href attribut. Vous devez annuler la redirection par défaut et ensuite appeler location.href=url;
  • j'ai besoin d'une zone de texte vaue, que je peux passer avec un lien d'action de sorte qu'il mach le routeconfig route.
  • Vous n'avez pas besoin d'un lien d'action - mettre la zone de texte dans un formulaire (avec FormMethod.Get et de le soumettre à la méthode GET.
  • j'ai utilisé @Html.beginform avec FormMethod.Obtenez de l'ignorer, maintenant, je me fais ce genre de url: localhost:57286/trans_junction/Index/74?searchString=52 comme vous pouvez le voir j'ai besoin de passer l'id avec la chaîne de recherche. si je tape l'url comme ceci, localhost:57286/trans_junction/Index/74/52, j'obtiens le résultat souhaité mais je ne sais pas comment je créer un lien pour ce genre de url. Donc, je suis en train de passer via le lien d'action.