【问题标题】:Pass Parameter to LinqDataSource "OnSelecting" for Stored Procedure将参数传递给存储过程的 LinqDataSource“OnSelecting”
【发布时间】:2011-01-27 07:30:47
【问题描述】:

我正在构建一个半精巧的 RadGrid,在我的 NestedViewTemplate 中,我希望有一个使用存储过程从数据库中获取数据的 LinqDataSource。

这是我目前所拥有的

            <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>

任何我的代码背后...

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

但不幸的是,hdc.bt_HealthMonitor_GetByID(Integer.Parse(e.WhereParameters("ID"))) 打得不太好......

异常详情: System.FormatException:输入字符串的格式不正确。

【问题讨论】:

  • 算了,我在 WhereParameters 中的“PropertyName”不正确。 &lt;asp:ControlParameter ControlID="HiddenID" PropertyName="Value" Type="String" Name="ID" /&gt; 基本上我是个智障......对不起。

标签: linqdatasource


【解决方案1】:

WhereParameters 中的“PropertyName”不正确。

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

【讨论】:

    猜你喜欢
    • 2016-04-05
    • 1970-01-01
    • 2013-06-17
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多