1

オブジェクト (送信者) の ID に基づいて switch ステートメントを使用しようとしています。

        protected void SqlDataSource_Selected(object sender, SqlDataSourceStatusEventArgs e)
        {
            int count = e.AffectedRows;
            SqlDataSource sqlds = (SqlDataSource)sender;
            switch (sqlds.ID)
            {
                case "sqldsPTY":
                    lblPTYCount.Text = "(" + count.ToString() + ")";
                    break;
                case "sqldsINC":
                    lblINCCount.Text = "(" + count.ToString() + ")";
                    break;
                ...
            }
         }

しかし、私は例外を受け取ります:

System.InvalidCastException: タイプ 'System.Web.UI.WebControls.SqlDataSourceView' のオブジェクトをタイプ 'System.Web.UI.WebControls.SqlDataSource' にキャストできません。

私は何を間違っていますか?

4

2 に答える 2

0
SqlDataSource sqlds = (SqlDataSource)sender; 

が問題を引き起こしています - 送信者は SQLDataSourceView でなければなりません。だから試してみてください

SQLDataSourceView sqlds = (SQLDataSourceView)sender 

残りのコードを適切なものに変更します。

于 2013-04-11T12:39:55.257 に答える