2013-01-25 35 views
0

假设你有一个SqlDataSource,看起来像这样:控制不绑定到SqlDataSource的页面加载空白参数

<asp:SqlDataSource ID="sqldsSample" runat="server" 
    ConnectionString="<%$ ConnectionStrings:myConnectionString %>" 
    SelectCommand="SELECT [col1], [col2] FROM [tbl] WHERE [col3] = @val) ORDER BY [col1] DESC;"> 
    <SelectParameters> 
     <asp:Parameter DefaultValue="False" Name="val" Type="Boolean" /> 
     <asp:Parameter DefaultValue="" Name="val2" Type="String" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

只是假设你已经决定要在这里宣布“VAL2”参数,你不希望在后面的代码隐藏中添加和/或删除参数(例如,要将SelectCommand更改为使用某些额外条件进行某些过滤)。

它会失败,没有错误 - 控件将显示为空。

回答

0

即使未使用参数,也必须指定默认值。例如,只是在一个空格字符将将工作:

<asp:Parameter DefaultValue=" " Name="val2" Type="String" />

注意,它仍然如果省略默认值属性将无法正常工作。