繁体   English   中英

ASP.Net SQLDataSource筛选器-输入字符串的格式不正确

[英]ASP.Net SQLDataSource Filter - Input string was not in a correct format

我有一个带有网格视图的ASP.Net网页。 我想根据下拉列表的选择来过滤网格视图数据。 我在另一页上的工作正常。 问题页面上的区别在于,我需要过滤的列是int而不是varchar。 当我加载页面时,我收到错误消息:输入字符串的格式不正确。

我为下面的下拉列表和数据源粘贴了代码。 这必须是一个普遍的要求,所以我想我缺少明显的东西...? 在尝试通过Google查找解决方案时,其他问题也存在相同的问题。 可以在http://www.velocityreviews.com/forums/t123088-problem-in-filterparameters.html上找到非常相似的帖子,很遗憾,Gavin的分辨率对我不起作用。

非常感谢,

抢。

<%@ Page Language="C#" MasterPageFile="~/Main.master" AutoEventWireup="true" CodeFile="BacheAccountSettings.aspx.cs"
Inherits="RDM.BacheTradeLoad" Title="Untitled Page" %>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<tr>
    <td style="width: 100px;">
        Filter:
    </td>
    <td style="width: 170px;">
        <asp:DropDownList ID="ddlAccountSourceId" DataSourceID="dsAccountSourceId" AutoPostBack="true"
            DataValueField="AccountId" runat="server" Width="130px" Font-Size="11px" AppendDataBoundItems="true">
            <asp:ListItem Text="All" Value="%"></asp:ListItem>
        </asp:DropDownList>
    </td>
</tr>
<tr>
    <td colspan="1">
        <asp:GridView ID="grdRefBacheAccount" runat="server" AutoGenerateColumns="False"
            BackColor="White" BorderColor="#E7E7FF" BorderWidth="1px" CellPadding="3" DataSourceID="dsArcReference"
            GridLines="Horizontal" BorderStyle="None" EnableModelValidation="True" Style="position: static"
            OnRowDataBound="grdRefBacheAccount_RowDataBound" AllowPaging="True" PageSize="25"
            CssClass="Grid" AllowSorting="True">
            <Columns>
                <asp:CommandField ShowEditButton="True" ShowCancelButton="False" />
                <asp:BoundField DataField="SourceID" HeaderText="SourceID" SortExpression="SourceID" />
                <asp:BoundField DataField="GroupCompany" HeaderText="GroupCompany" SortExpression="GroupCompany" />
                <asp:BoundField DataField="Portfolio" HeaderText="Portfolio" SortExpression="Portfolio" />
                <asp:BoundField DataField="OnBehalfComp" HeaderText="OnBehalfComp" SortExpression="OnBehalfComp" />
                <asp:BoundField DataField="AssignedTrader" HeaderText="AssignedTrader" SortExpression="AssignedTrader" />
            </Columns>
            <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
            <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
            <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
            <SelectedRowStyle BackColor="#738A9C" ForeColor="#F7F7F7" Font-Bold="True" />
            <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
            <AlternatingRowStyle BackColor="#F7F7F7" />
        </asp:GridView>
    </td>
</tr>
<div id="divImportButton" align="right">
    <asp:Button ID="btnImport" runat="server" Text="Import Trade" OnClick="btnImport_Click"
        CssClass="Button" />
</div>
<asp:SqlDataSource ID="dsArcReference" runat="server" ConnectionString="<%$ ConnectionStrings:ARC_REFERENCEConnectionString %>"
    SelectCommand="select ACCOUNT_SOURCE_ID as 'AccountId',
                    [ACCOUNT_BTF_GROUP_COMPANY] as 'GroupCompany',
                    [ACCOUNT_BTF_PORTFOLIO] as 'Portfolio',
                    [ACCOUNT_BTF_ON_BEHALF_COMPANY] as 'OnBehalfComp',
                    [ACCOUNT_BTF_ASSIGNED_TRADER] as 'AssignedTrader'
                    from dbo.REF_BACHE_ACCOUNT" UpdateCommand="update dbo.REF_BACHE_ACCOUNT
                set [ACCOUNT_BTF_GROUP_COMPANY] = @GroupCompany,
                [ACCOUNT_BTF_PORTFOLIO] = @Portfolio,
                [ACCOUNT_BTF_ON_BEHALF_COMPANY] = @OnBehalfComp,
                [ACCOUNT_BTF_ASSIGNED_TRADER] = @AssignedTrader
                where [ACCOUNT_SOURCE_ID]=@SourceID" FilterExpression="SourceID={0}">
    <FilterParameters>
        <asp:ControlParameter Type="Int32" ControlID="ddlAccountSourceId" PropertyName="SelectedValue" />
    </FilterParameters>
    <UpdateParameters>
        <asp:Parameter />
        <asp:Parameter Name="ACCOUNT_SOURCE_ID" />
    </UpdateParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="dsAccountSourceId" runat="server" ConnectionString="<%$ ConnectionStrings:ARC_REFERENCEConnectionString %>"
    SelectCommand="SELECT DISTINCT [ACCOUNT_SOURCE_ID] as AccountId FROM [REF_BACHE_ACCOUNT]"
    DataSourceMode="DataSet"></asp:SqlDataSource>

您传递的不是Int32的值。

 <asp:ListItem Text="All" Value="%"></asp:ListItem>

删除此行,然后开始工作。 为了展示它们,您需要找到其他方式...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM