这是一个谜题。母版页上的数据源将其 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 正确识别)。有任何想法吗?
我的“ControlParameter 读取放置在 ContentPlaceholder(s) 中的控件”的基本方法是将值传递给 SelectParameter 的合理方法吗?