これがパズルです。マスター ページのデータ ソースは、その SelectParameter で、(孫) 子ページのテキストを含むラベル コントロールを参照します。
<asp:SqlDataSource ... SelectCommand="SELECT * FROM [tblMyTable] WHERE (([strField] = ?) ">
<SelectParameters>
<asp:ControlParameter Name="strField" ControlID="cphMaster$cphChild$lblGrandchild" propertyname="Text" DbType="String"/>
</SelectParameters>
</asp:SqlDataSource>
ただし、これによりエラーが生成されます (「System.Data.OleDb.OleDbException: 条件式のデータ型が一致しません。」)
明らかなことを確認しました (strField は実際には文字列であり、ContentPlaceHolder (cph) コントロールは ID によって正しく識別されます)。何か案は?
そして、「ContentPlaceholderに配置されたコントロールを読み取るControlParameter」の基本的なアプローチは、値をSelectParameterに渡す合理的な方法ですか?