2013-10-21 37 views
0

我有一些用於輸入搜索值的文本框。我有一個有2個日期時間,1個int和1個char參數的存儲過程。我將我的SqlDataSource附加到TextBox並將默認值設置爲空,但是當我運行我的項目時空傳遞給存儲過程,但我的存儲過程期望空值。如何將SqlDataSource與null綁定到文本框?在頁面加載時將空值傳遞給sqldatasource中的存儲過程

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:DB_MosquesAffairsConnectionString3 %>" 
    SelectCommand="mqa.S_Conference_Select_Date" 
    SelectCommandType="StoredProcedure" onload="SqlDataSource1_Load" 
    onselecting="SqlDataSource1_Selecting"> 
    <SelectParameters> 
     <asp:ControlParameter ControlID="TextBox1" DbType="Date" DefaultValue="null" 
      Name="StartDate" PropertyName="Text" /> 
     <asp:ControlParameter ControlID="TextBox2" DbType="Date" DefaultValue="null" 
      Name="EndDate" PropertyName="Text" /> 
     <asp:ControlParameter ControlID="TextBox3" DefaultValue="null" 
      Name="ConferenceName" PropertyName="Text" Type="String" /> 
     <asp:ControlParameter ControlID="TextBox4" DefaultValue="null" 
      Name="ConferenceID" PropertyName="Text" Type="Int32" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

回答

1

您可以使用以下屬性/屬性中ControlParameter

ConvertEmptyStringToNull="true" DefaultValue="" 


    <SelectParameters> 
        <asp:ControlParameter ControlID="TextBox1" DbType="Date"  ConvertEmptyStringToNull="true" DefaultValue="" 
         Name="StartDate" PropertyName="Text" /> 
        <asp:ControlParameter ControlID="TextBox2" DbType="Date"  ConvertEmptyStringToNull="true" DefaultValue="" 
         Name="EndDate" PropertyName="Text" /> 
        <asp:ControlParameter ControlID="TextBox3"  ConvertEmptyStringToNull="true" DefaultValue="" 
         Name="ConferenceName" PropertyName="Text" Type="String" /> 
        <asp:ControlParameter ControlID="TextBox4"  ConvertEmptyStringToNull="true" DefaultValue="" 
         Name="ConferenceID" PropertyName="Text" Type="Int32" /> 
       </SelectParameters> 
+0

+1對於正確答案,而OP必須要設置允許該列空,否則它扔了一個錯誤 –

+0

@ RameshRajendran。是的,從這個問題我假定他在存儲過程結束時有一個空處理。 –

+0

我嘗試這個屬性,但沒有工作 –

相關問題