2009-09-29 9 views
1

J'utilise C# .net.ObjectDataSource - SelectParameters utilisant la valeur par défaut plutôt que FormParameter

J'ai un formulaire de recherche (dans une vue), lorsque l'utilisateur fournit les détails corrects pour chaque zone de texte et appuie sur le bouton de recherche, il redirige vers une autre vue dans le même formulaire Web. J'utilise LINQ et ObjectDataSource pour récupérer les résultats de la base de données. Comme la requête nécessite des paramètres (utilisés dans la clause where), je dois fournir SelectParameters. Je pensais que FormParameter était le type correct à utiliser, mais il nécessite une valeur par défaut qui est bien, même si je fournis des détails dans les zones de texte, il utilise la valeur par défaut et je ne comprends pas pourquoi.

<asp:FormParameter Name="personName" FormField="searchName" DefaultValue="random" /> 
<asp:FormParameter Name="dateFrom" FormField="searchFromDate" DefaultValue="01/08/2009" /> 
<asp:FormParameter Name="dateTo" FormField="searchToDate" DefaultValue="01/10/2009" /> 

Merci d'avance pour toute aide.

Clare

Répondre

1

J'ai réalisé que j'utilisais le mauvais type. J'aurais dû utiliser à la place ControlParameter:

 <SelectParameters> 
      <asp:ControlParameter Name="personName" ControlID="searchName" /> 
      <asp:ControlParameter Name="dateFrom" ControlID="searchFromDate" /> 
      <asp:ControlParameter Name="dateTo" ControlID="searchToDate" /> 
     </SelectParameters> 
Questions connexes