C# 不希望textbox在datatable中输入空值
我有一个数据表,它已经有了一些值,加上它正在从下面的文本框中获取值 现在我的问题是当我没有在文本框中输入值时,它仍然会在数据表中输入。 我不想让它那样做 代码可以在任何机器上运行。。。有什么建议吗 谢谢C# 不希望textbox在datatable中输入空值,c#,asp.net,visual-studio,C#,Asp.net,Visual Studio,我有一个数据表,它已经有了一些值,加上它正在从下面的文本框中获取值 现在我的问题是当我没有在文本框中输入值时,它仍然会在数据表中输入。 我不想让它那样做 代码可以在任何机器上运行。。。有什么建议吗 谢谢 public partial class WebForm6 : System.Web.UI.Page { DataTable dt; protected void Page_Load(object sender, EventArgs e) { // I
public partial class WebForm6 : System.Web.UI.Page
{
DataTable dt;
protected void Page_Load(object sender, EventArgs e)
{
// Initialize a DataTable
if (!Page.IsPostBack)
{
dt = new DataTable();
// Initialize DataColumn
DataColumn myDataColumn = new DataColumn();
//// initialize a new instance of DataColumn to add another column with different properties.
//myDataColumn = new DataColumn();
myDataColumn.ColumnName = "firstName";
// set DataType property of the column as String
myDataColumn.DataType = System.Type.GetType("System.String");
// Add and Create a Second DataColumn
dt.Columns.Add(myDataColumn);
// create a new row using NewRow() function of DataTable.
// dataRow object will inherit the schema of myDataTable to create a new row
DataRow dataRow = dt.NewRow();
dataRow["firstName"] = "John";
// add new data row to the data table.
dt.Rows.Add(dataRow);
// similarly adds the second row to the DataTable
dataRow = dt.NewRow();
dataRow["firstName"] = "Will";
dt.Rows.Add(dataRow);
Session["data"] = dt;
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (Session["Data"] == null)
{
dt.Columns.Add("firstName");
BindtoGridViewFromTextBoxes(dt);
ClearControls();
}
else
{
dt = (DataTable)Session["Data"];
BindtoGridViewFromTextBoxes(dt);
ClearControls();
}
} private void ClearControls()
{
txtName.Text = String.Empty;
}
private void BindtoGridViewFromTextBoxes(DataTable dt)
{
DataRow dr;
dr = dt.NewRow();
dr["firstName"] = txtName.Text.ToString();
dt.Rows.Add(dr);
Session["Data"] = dt;
GridView1.DataSource = dt;
GridView1.DataBind();
}
和在.aspx页面上
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
任何帮助…?将您的方法更改为:
private void BindtoGridViewFromTextBoxes(DataTable dt)
{
if (!String.IsNullOrEmpty(txtname.Text))
{
DataRow dr = dt.NewRow();
dr["firstName"] = txtName.Text;
dt.Rows.Add(dr);
Session["Data"] = dt;
}
GridView1.DataSource = dt;
GridView1.DataBind();
}
只是想添加一个想法…验证用户输入呢?或者为你的应用定义“空白”的含义。只是一个想法。没有会话数据总是一些数据,我有一个if条件检查。。。即使它是空的,它也不做它应该做的事情。。。如果你能试试看。。。并调试按钮提交部分。。你会明白我在说什么。。谢谢
private void BindtoGridViewFromTextBoxes(DataTable dt)
{
if (!String.IsNullOrEmpty(txtname.Text))
{
DataRow dr = dt.NewRow();
dr["firstName"] = txtName.Text;
dt.Rows.Add(dr);
Session["Data"] = dt;
}
GridView1.DataSource = dt;
GridView1.DataBind();
}