当文本框为空时,将空值插入数据库

Hos*_*aei 1 c# linq asp.net textbox

我在Asp.net页面中使用LINQ访问数据库.

我有一个带有一些文本框和提交按钮的表单,然后用户看到该表单的所有文本框都为空,并带有以下代码:

txtPName.Text =null;
txtPFamily.Text = null;
txtPUsername.Text = null;
txtPPassword.Text = null;
Run Code Online (Sandbox Code Playgroud)

然后单击按钮后,值插入Databse,但如果文本框为空,我希望null在数据库中插入值,但在数据库中插入空:

 Users u = new Users()
 {
      FirstName = txtPName.Text,
      LastName = txtPFamily.Text,
      Username = txtPUsername.Text,
      Password = txtPPassword.Text
 };
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 7

您可以使用条件运算符.由于Text属性永远不会返回,null您可以安全地检查它们的长度是否为0(文本为空):

Users u = new Users()
{
    FirstName = txtPName.Text.Length == 0 ? null : txtPName.Text,
    LastName = txtPFamily.Text.Length == 0 ? null : txtPFamily.Text,
    Username = txtPUsername.Text.Length == 0 ? null : txtPUsername.Text,
    Password = txtPPassword.Text.Length == 0 ? null : txtPPassword.Text
};
Run Code Online (Sandbox Code Playgroud)

如果您还想将空格视为"空",请使用String.IsNullOrWhiteSpace,例如:

FirstName = String.IsNullOrWhiteSpace(txtPName.Text) ? null : txtPName.Text
Run Code Online (Sandbox Code Playgroud)