如何在ASP.NET中将空字符串设置为DataSource参数的默认值?

时间:2010-09-30 10:09:54

标签: c# asp.net

这不起作用。我从SQL数据库得到一个例外,该列不允许空值。

<asp:SqlDataSource ID="MyDataSOurcet" runat="server" 
        ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 
        InsertCommand="INSERT INTO MyTable(Name) VALUES (@Name) WHERE NameID = 1" 
        <InsertParameters>
            <asp:Parameter Name="Name" Type="String" DefaultValue=""/>
        </InsertParameters>
    </asp:SqlDataSource>

2 个答案:

答案 0 :(得分:9)

你可以尝试

   <asp:Parameter Name="Name"  Type="string" DefaultValue="" 
    ConvertEmptyStringToNull="false" />

但我认为那是默认的。

答案 1 :(得分:0)

试试这个:

<asp:SqlDataSource ID="MyDataSOurcet" runat="server" OnInserting="MyDataSOurcetInserting" ... >

//cs
protected void MyDataSOurcetInserting(object sender, SqlDataSourceCommandEventArgs e)
{
   //check if nothing has been inserted then
   e.Command.Parameters["Name"].value = DBNull.Value;
} 
祝你好运!