0

我有一个第 3 页的数据控件(按顺序,datalist->grid->listview,从一个馈入到下一个馈送的选择)在本地完美运行,使用 mysql 的 dot net 连接器。我的虚拟主机使用 ODBC,我必须从代​​码中的 select 语句中删除 [ ] 并放置表名。我删除了 [ ] 并且我的页面运行,并且我的第一个/datalist 控件显示,但现在我的 datalist 的“选定值”没有填充我的网格控件。

我想 odbc 处理参数的方式还有另一个特点。

这是我的原件,用于我的网格:

<asp:SqlDataSource ID="recipegrid" runat="server"
            ConnectionString="<%$ ConnectionStrings:exoticingConnectionString %>"
            ProviderName="<%$ ConnectionStrings:exoticingConnectionString.ProviderName %>"
            SelectCommand="SELECT [Id], [Name], [Cal], [Pro], [Fat], [Carb], [Fiber], [Chol], [Sod] FROM [tblrecipes] WHERE ([filenameid] = @filenameid) ORDER BY [name]">
            <SelectParameters>
                <asp:ControlParameter ControlID="DataList1" Name="filenameid"
                    PropertyName="SelectedValue" Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>   

选择允许我的页面再次运行的更改示例:

SelectCommand="SELECT tblrecipes.Id, tblrecipes.Name, tblrecipes.Cal, tblrecipes.Pro, tblrecipes.Fat, tblrecipes.Carb, tblrecipes.Fiber, tblrecipes.Chol, tblrecipes.Sod FROM tblrecipes WHERE tblrecipes.filenameid = @filenameid ORDER BY tblrecipes.name">

顺便提一句,

我还尝试删除我的脚本管理器和更新面板,并在我的控件 jik 中使用自动回发,但没有任何改变,所以我把它放回去了。

4

1 回答 1

0

更改:WHERE ([filenameid] = @filenameid)

到:WHERE ([filenameid] = ?)

它奏效了

于 2010-08-04T17:17:34.863 回答