Quel est l'équivalent de WebApi [FromUri] dans ASP.NET MVC?
Dans WebApi je peux décorer d'un paramètre à l'action d'un contrôleur avec [FromUri]
pour avoir les composants de l'URI 'désérialisé', si vous voulez, dans un POCO modèle; aka modèle de liaison.
Malgré l'utilisation de MVC depuis la 2.0, je n'ai jamais utilisé pour les sites web (je ne sais pas pourquoi). Ce qui est l'équivalent de il en ASP.NET MVC 5?
L'attribut ne semble pas être reconnue dans l'IDE, à moins que j'ai besoin de faire référence à une bibliothèque.
J'aimerais ~/thing/2014/9
de lier le modèle ci-dessous:
public class WhateverModel
{
public int Year { get; set; }
public int Month { get; set; }
}
Grâce
Mise à jour
Dans l'autre question (lien ci-dessus), l'OP dit:
Cependant, ce commutateur à la plaine de MVC n'est pas WebApi et le modèle de classeur par défaut tombe en panne et ne peut pas lier les propriétés sur les objets dans le tableau imbriqué
Ce qui implique qu'il est l'aide de l'attribut de la WebApi. Je suppose que. Je n'ai pas ces références, parce que je suis en MVC, est donc (ab)à l'aide de WebApi la version de la façon acceptée pour ce faire, dans MVC?
Mise à jour 2
Dans la réponse à cette question est:
Vous avez besoin pour construire votre chaîne de requête respectant le modèle MVC liant les conventions de nommage.
En outre
[FromUri]
attribut dans votre exemple, l'action est complètement ignorée, car elle ne sait pas à MVC DefaultModelBinder
Donc, je suis toujours de gauche, ne sachant pas quoi faire ou quoi sur Terre est de l'OP n'a même parler de la question s'il a été d'obtenir un certain succès avec le mauvais attribut.
Je suppose que je suis en espérant une réponse claire et pas de la boue de cette autre question.
source d'informationauteur Luke Puplett
Vous devez vous connecter pour publier un commentaire.
Il va tout Simplement de Travail™:
Au moins, lors de l'utilisation de l'URL
/thing?Year=2014&Month=9
.Le problème est de votre trajet. L'URL
/thing/2014/9
ne sera pas de la carte en utilisant MVC de la route par défaut, comme c'est/{controller}/{action}/{id}
où{id}
est une optionint
.Le plus simple serait d'utiliser l'attribut de routage:
Cela va correspondre l'URL de votre modèle.