Pas de javascript \ AJAX à utiliser.Comment obtenir la valeur de datafieldtext ou selectedtext de la liste de sélection dans asp.net mvc?
Répondre
droit, si vous construisez la liste dans le code derrière et vous donner chaque option un identifiant unique, alors vous pouvez récupérer cet identifiant et l'épouser avec un élément de code et donc le texte.
Ainsi;
public class MonthlyItemsFormViewModel
{
public SelectList Months;
public string SelectedMonth {get;set;}
}
puis;
public ActionResult Index()
{
MonthlyItemsFormViewModel fvm = new MonthlyItemsFormViewModel();
FillData(fvm, DateTime.Now);
return View(fvm);
}
Et puis;
private void FillData(MonthlyItemsFormViewModel fvm, DateTime SelectedMonth)
{
List<string> months = DateTime.Now.MonthList(DateTime.Now);
fvm.Months = new SelectList(months, fvm.SelectedMonth);
}
Puis dans votre vue;
<% using (Html.BeginForm()) { %>
<%=Html.DropDownList("selectedMonth", Model.Months) %>
<%} %>
Puis à la publication;
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(FormCollection collection)
{
MonthlyItemsFormViewModel fvm = new MonthlyItemsFormViewModel();
UpdateModel(fvm);
FillData(fvm, DateTime.Parse(DateTime.Now.Year.ToString() + " " + fvm.SelectedMonth + " 01"));
return View(fvm);
}
Il est dans le code sur le post de retour que vous pouvez saisir la valeur sélectionnée de la FVM avant de se marier cette valeur avec un élément dans votre liste de sélection.
Ce code a été extrait directement de mon code et devrait donc être modifié en fonction de votre situation.
Est-ce que cela a du sens?
Un peu de code de ce que vous avez essayé serait utile ici kurozakura.
En attendant;
Si vous avez lié votre vue à un modèle, vous pouvez utiliser UpdateModel pour récupérer la valeur. Donc, si vous vous liez à une classe appelée Utilisateur, alors;
User myUser = new User;
TryUpdateModel(myUser);
Si vous ne l'avez pas lié, utilisez la technique d'Eduardo et utilisez quelque chose comme;
public ActionResult MyViewsAction(FormCollection collection)
{
string a = collection["selectListCtrlname"];
}
bien que j'aie utilisé le FormCollection mais pas de chance, coz si Je l'ai fait cela retournerait juste la valeur de chaîne qui est stockée, la valeur est de la valeur de la liste déroulante, mais j'ai besoin du texte – kurozakura
Je ne suis pas sûr que ce que vous voulez est possible sauf si vous définissez l'attribut Valeur de chaque élément d'option être le texte aussi. Donc une option peut ressembler à mais je ne sais pas jusqu'où cela vous mènerait. Il y a un autre moyen, voir la réponse suivante. – griegs
La classe ci-dessous utilise la réflexion pour obtenir le texte de la valeur sélectionnée dans la liste. Plusieurs éléments de liste sélectionnés ne sont pas pris en charge.
using System.Web.Mvc;
/// <summary>
/// Provides a set of static methods for getting the text for the selected value within the list.
/// </summary>
public static class SelectListExtensions
{
/// <summary>
/// Gets the text for the selected value.
/// </summary>
/// <param name="list">The list.</param>
/// <returns></returns>
public static string GetSelectedText(this SelectList list)
{
foreach(var item in list.Items)
{
var dataValuePropertyInfo = item.GetType().GetProperty(list.DataValueField);
var itemValue = dataValuePropertyInfo.GetValue(item, null);
if(itemValue != null && itemValue.Equals(list.SelectedValue))
{
var textValuePropertyInfo = item.GetType().GetProperty(list.DataTextField);
return textValuePropertyInfo.GetValue(item, null) as string;
}
}
return null;
}
}
- 1. asp.net mvc Liste des listes de sélection
- 2. Valeur de liste déroulante ASP.NET MVC
- 3. Comment puis-je obtenir la valeur (chaîne) de la sélection en cours dans une liste déroulante?
- 4. Comment obtenir asp.net Valeur de session dans la méthode jquery?
- 5. validation de la liste de sélection
- 6. Insérer une valeur dans la liste de sélection
- 7. Comment conserver la valeur de recherche JQuery dans ASP.Net MVC
- 8. ASP MVC ne rend pas la valeur sélectionnée pour une liste de sélection
- 9. La valeur de la liste déroulante MVC n'est pas configurée
- 10. Comment obtenir la propriété de chaîne de contrôle ASP.NET pour afficher la liste suggérée dans la liste déroulante du concepteur?
- 11. Sélection de la liste dans jQuery
- 12. Comment lier la valeur de la propriété imbriqué élément de tableau à TextBox dans ASP.NET MVC
- 13. Comment obtenir Rembourrage ou de la valeur de la marge en valeur relative en utilisant jQuery
- 14. JavaScript: obtenir la valeur de la liste déroulante
- 15. Recevoir plusieurs valeurs avec la méthode d'action MVC de la liste de sélection multiple
- 16. ASP.NET MVC - Affichage de la valeur de formulaire par rôle
- 17. Comment obtenir la sélection HTML et le parent de sélection?
- 18. Obtenir le nom de la page principale dans asp.net MVC
- 19. ASP.NET MVC - Définir la valeur sélectionnée de la liste déroulante en cascade
- 20. Comment accéder à la sélection de la liste de cibles xmlui de JSFL dans Flash?
- 21. comment obtenir la valeur de la cellule dans l'iphone?
- 22. Encodez la valeur de la vue de données dans ASP.NET MVC Actionlink
- 23. Désactiver la boîte de sélection sans supprimer la valeur de la publication
- 24. Comment une liste de sélection multiple fonctionne-t-elle avec la liaison de modèle dans ASP.NET MVC?
- 25. comment modifier la valeur dans la zone de texte à la date actuelle en fonction de la valeur sélectionnée dans la zone de liste déroulante dans javascript
- 26. Comment obtenir la valeur de l'éditeur WMD?
- 27. comment obtenir la valeur de l'élément vérifié dans la boucle
- 28. Zend Framework - Définir la valeur « sélectionné » dans la liste déroulante boîte de sélection
- 29. Obtenir la valeur de mode dans Java
- 30. Comment obtenir la valeur sélectionnée de la liste des boutons radio dans jquery?
Vous en avez besoin dans le contrôleur? Si vous avez spécifié un 'VALUE' dans l'option, vous recevrez cette valeur dans la collection de formulaire (Vous pouvez rechercher le texte associé à la valeur dans la DB ou le modèle) –