私はこれがコードビハインドで可能であることを知っていますが、そこでselectコマンドを変更してバインドすると、リフレッシュと並べ替えでグリッドビューの問題が発生するため、これは私が探している答えではありません。ASPX SqlDataSource SelectCommandで文字列変数を使用することは可能ですか?
私はすでにSQLパラメータにパラメータ化された文を組み込んでいますが、パラメータ化された文としては機能しないと思われる部分を変更するには、他の部分が必要です。
例:
<asp:SqlDataSource ID="SQLSolutionSource" runat="server"
SelectCommand="SELECT id, my_cat1, my_cat2, my_cat3, my_cat4, my_cat5, my_cat6 FROM [my_db].[dbo].[my_table]"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>" />
コマンドの "SELECT ID、my_cat1、my_cat2、my_cat3、my_cat4、my_cat5、my_cat6" の部分を使用ELSE IF文私は約10を持っています。
コードビハインドの場合は、上記の文字列で変数を作成し、selectコマンドを "+ my_string +" FROM [my_db]。[dbo]。[my_table] "に変更することができます。
ASPXページでこれを行う方法はありますか?私はパブリック文字列を作成し、SelectCommand = "<%= my_string%> FROM [my_db]。[dbo]。[my_table]を使用してみましたが、全く動作していないようです。
私は人々がセキュリティの影響とSQLインジェクションについて疑問に思うかもしれないが、この変数はハードコードされており、ユーザーが変更できないことを理解しています。私は単にコマンドを単純化してコードを整理したいので、選択した項目を変更する必要がある場合は、10の異なる場所ではなく、1つの変数で行うだけです。
あなたはSqlDataSourceから完全に離れることができます。[my answer](http://stackoverflow.com/questions/43279371/updatecommand-parameter-value-always-a-string/43280341#43280341)を参照してください。この他の質問。 – mason
ありがとうございますが、私は代替データの実装を探していません。私の質問に対する答えです。 –
なぜですか? SqlDataSourceはひどいです。 – mason