您好我试图在我的日期文本框Textbox 3和Textbox 4中传递空值,但我无法这样做。请让我知道我做错了什么。基本上我需要的是当页面加载和文本框为空时我需要Gridview加载整个表。目前它只在我输入日期范围时加载,但是如果我将日期文本框留空我得到一个空页面。我有一个下拉日历控件的Ajax日历扩展也附加到这两个文本框。不知道那是不是问题。请帮忙..
这是代码
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:IngestConnectionString %>"
SelectCommand="SELECT ID, Story_number, Date, Memory_card, Story_Name FROM Library WHERE (Story_Name LIKE '%' + @Story_Name + '%') AND (Story_number LIKE '%' + @Story_number + '%') AND (@startdate IS NULL OR @startdate = '' OR Date >= @startdate) AND (@enddate IS NULL OR @enddate = '' OR Date <= @enddate)">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1"
Name="Story_Name"
PropertyName="Text"
DefaultValue="%" />
<asp:ControlParameter ControlID="TextBox2"
DefaultValue="%"
Name="Story_number"
PropertyName="Text" />
<%--<asp:ControlParameter ControlID="DropDownList1"
DefaultValue="%"
Name="Memory_card"
PropertyName="SelectedValue" />--%>
<asp:ControlParameter ControlID="TextBox3"
Name="startdate"
ConvertEmptyStringToNull="true"
PropertyName="Text" />
<asp:ControlParameter ControlID="TextBox4"
Name="enddate"
ConvertEmptyStringToNull="true"
PropertyName="Text" />
</SelectParameters>
</asp:SqlDataSource>
当我在默认值中设置一些荒谬的日期范围时,它可以正常工作,但我无法让它将null传递给数据库,以便在页面加载时看到完整的表
<asp:ControlParameter ControlID="TextBox3"
Name="startdate"
ConvertEmptyStringToNull="true"
DefaultValue="1/1/1977"
PropertyName="Text" />
<asp:ControlParameter ControlID="TextBox4"
Name="enddate"
ConvertEmptyStringToNull="true"
DefaultValue="1/1/2100"
PropertyName="Text" />
更新:
我在哪里添加此代码?我将它添加到控件参数中,如此
<asp:ControlParameter ControlID="TextBox4"
Name="enddate"
SqlDataSource2.CancelSelectOnNullParameter="False"
PropertyName="Text" />
当我这样做时,它会给我以下错误
'System.Web.UI中不允许使用文字内容('&lt; asp:ControlParameter ControlID =“TextBox4”Name =“enddate”SqlDataSource2.CancelSelectOnNullParameter =“False”PropertyName =“Text”/&gt;') .WebControls.ParameterCollection'
答案 0 :(得分:2)
CancelSelectOnNullParameter
是SQLdatasource控件的属性,而不是控件中包含的参数:
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
CancelSelectOnNullParameter="False"
ConnectionString="<%$ ConnectionStrings:IngestConnectionString %>"
SelectCommand="SELECT ID, Story_number, Date, Memory_card, Story_Name FROM Library WHERE (Story_Name LIKE '%' + @Story_Name + '%') AND (Story_number LIKE '%' + @Story_number + '%') AND (@startdate IS NULL OR @startdate = '' OR Date >= @startdate) AND (@enddate IS NULL OR @enddate = '' OR Date <= @enddate)">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" ...
答案 1 :(得分:0)
或此属性: DefaultValue =&#34;%&#34;
UITableView