J'ai une URL:ASP.NET MVC: Formulaire d'entrée aux URL jolies
Expédition/Recherche/{searchType}/{} searchValue
et une action de contrôleur:
// ShipmentSearchType is an enum ... PartNumber, CustomerOrder, etc...
ActionResult Search(ShipmentSearchType searchType, string searchValue)
Alors cela signifie que je peux taper dans un joli urls comme:
Expédition/Recherche/PartNumber/Widget-01
Et ge t une liste de toutes les expéditions avec ce numéro de pièce.
Maintenant, je fais le travail occupé de l'application et je suis arrivé au point où je suis en train de faire un formulaire de recherche qui demande le numéro de pièce et il sera affiché à la recherche. Donc, fondamentalement, je veux:
Expédition/Recherche/PartNumber/{user-input-de-} zone de texte
Malheureusement, je ne peux pas avoir une forme obtenir à l'URL ci-dessus - il doit être généré côté serveur . Donc, à la place, je reviendrai au formulaire Envoi/Recherche/PartNumber avec {user-input} comme valeur de demande de publication.
Alors je me retrouve avec:
[AcceptVerbs(HttpVerbs.Post)]
ActionResult Search(ShipmentSearchType searchType, string searchValue, bool? post)
{
return RedirectToAction("Search", new { searchType = searchType, searchValue = searchValue});
}
2 choses:
1) Est-il possible que je peux obtenir autour d'avoir la méthode post de recherche sans utiliser javascript côté client?
2) Le bool? la valeur de poste est là juste pour qu'ils aient des signatures différentes. C'est évidemment moche. Y a-t-il une façon plus intelligente de faire cela?
Merci!
modifier:
« Malheureusement, je ne pense pas que je peux le faire à partir d'une forme (sans javascript au moins). » & "Existe-t-il un moyen de contourner le message sans utiliser javascript?"
C'était un peu ambigu. Ce que je veux dire c'est que je ne pense pas que je peux avoir un formulaire générer l'URL/Shipment/Search/PartNumber/{value-from-textbox} et l'avoir à une méthode de formulaire get. Je pense que ce serait simple à faire en javascript (remplacer l'action de soumission pour construire l'URL de manière dynamique) mais je ne l'ai pas fait. Je ne voulais pas dire que javascript est nécessaire pour faire un post.
Je ne vois pas pourquoi vous ne pouvez pas faire cela sans javascript. Pourriez-vous expliquer pourquoi vous pensez que vous ne pouvez pas? –