2010-03-14 3 views
0

Je construis un RadGrid semi-élaboré où, dans mon NestedViewTemplate, je veux avoir un LinqDataSource qui utilise une procédure stockée pour obtenir des données de la base de données.Transmettre le paramètre à LinqDataSource "OnSelecting" pour la procédure stockée

Voici ce que j'ai jusqu'à présent

  <asp:HiddenField runat="server" ID="HiddenID" Value='<%#DataBinder.Eval(Container.DataItem, "ID")%>' /> 
      <asp:LinqDataSource ID="LinqDataSource1" runat="server" OnSelecting="LinqDataSource_Selecting"> 
       <WhereParameters> 
       <asp:ControlParameter ControlID="HiddenID" PropertyName="ID" Type="String" Name="ID" /> 
       </WhereParameters> 
      </asp:LinqDataSource> 

tout mon code derrière ...

Protected Sub LinqDataSource_Selecting(ByVal sender As Object, ByVal e As LinqDataSourceSelectEventArgs) 


    Dim hdc As New DAL.HealthMonitorDataContext() 
    e.Result = hdc.bt_HealthMonitor_GetByID(Integer.Parse(e.WhereParameters("ID"))) 
End Sub 

mais malheureusement hdc.bt_HealthMonitor_GetByID(Integer.Parse(e.WhereParameters("ID"))) ne joue pas bien ...

Exception Détails: System.FormatException: la chaîne d'entrée était pas dans un format correct.

+0

Oubliez-le, j'ai eu le "PropertyName" incorrect dans les paramètres WhereParameters. '' Fondamentalement, je suis un retard ... désolé. –

Répondre

2

Le "PropertyName" était incorrect dans les paramètres WhereParameters.

<asp:ControlParameter ControlID="HiddenID" 
         PropertyName="Value" 
         Type="String" 
         Name="ID" /> 
Questions connexes