ASP中的TextBox判空问题.. 我这里做了一个表单,类似报表的,里面有很多TextBox框,按照用户的需求TextBox可以为空,但最后不能让他提交空表(注:1、报表中基本都为TextBox;2、每次提交都会有创建时间写入数据库,这些TextBox框中内容是分批次写入数据库)如何做到判断提交时不为空表。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 foreach(Control ctl in this.Controls[1].Controls){ if(ctl.GetType().Name=="TextBox") { TextBox tb =new TextBox(); tb=(TextBox)this.FindControl(ctl.ID); if(tb.Text==string.Empty) { Response.Write("<script>alert('" + ctl.ID + "的值为空。');</script>"); break; } }}遍历控件里面的TextBox是否有一个为空 你保存的时候,怎么获取TextBox值,就怎么判断是否为空。 正如我先前说的,用户可以选择每个TextBox是否需要填写 function vail(v) { if(v.value==null) { alert('不能为空!'); } //继续后面的操作 } <input type="text" value="sss" onclick="vail(this)"> 如果你的意思是这样比如一个表单里面有下面2个文本框姓名:textbox昵称:textbox 删除这项你想让用户选择是否填写昵称,那么就在像上面那样在后门增加一个选框,如果用户删除了这项,那么自然表单里面就没这项了 不好意思,我要表达的意思是每个TextBox都有为空和不为空两种情况,但是如果提交一份空的表单就有点浪费资源 我做的是一个报表,和Excel一样,我要判断的是内容 这里是我根据一楼提示写的代码,如果有简单的,可以交流一下,谢谢各位参与StringBuilder str = new StringBuilder(); StringBuilder str2 = new StringBuilder(); str2.Append("0000000000"); foreach (Control ctl in this.form1.Controls) { if (ctl.GetType().Name == "TextBox") { TextBox tb = new TextBox(); tb = (TextBox)this.FindControl(ctl.ID); if (tb.Text == string.Empty) { str.Append(0); } else { str.Append(1); } } } if (str.Equals(str2)) { Response.Write("<script>alert('空表。');</script>"); } else Response.Write("<script>alert('成功。');</script>"); <html><table></table></html> 两点建议if (ctl.GetType().Name == "TextBox")建议改成if(ctl.GetType()==typeof(TextBox))TextBox tb = new TextBox();tb = (TextBox)this.FindControl(ctl.ID);if (tb.Text == string.Empty)建议改成Control ctrl = this.FindControl(ctl.ID);if(ctrl != null){ TextBox tb = ctrl as TextBox; if(String.IsEmptyOrNull(tb.Text)) {}} <center> <table width="95%" border="0" cellspacing="0" cellpadding="0" style="border:2px #DBD8FE solid;" > <tr> <td> <center> <div> <asp:Repeater ID="theData" runat="server" OnItemCommand = "R_ItemCommand"> <HeaderTemplate> <table width="90%" frame =below rules=rows style=" height: 72px;border:1px #CDEFFC ;"> <tr> <td colspan =4 align =left style="background-color: #ECECFF; font-size: large; font-weight: bold;"> 板块列表 </td> </tr> </HeaderTemplate> <ItemTemplate> (laolaolai) 第一点建议接收,是我一直都没注意过这点求第二点建议详解:if(ctrl != null) 1、(TextBox)this.FindControl(ctl.ID);问题在于:this.FindControl(ctl.ID);为空时相当于(TextBox)null,显然会导致异常。2、if(tb.Text == string.Empty)判断并不完整 对null并未作出判断。 所以建议用String.IsNullOrEmpty方法。你可以通过reflactor看一下IsNullOrEmpty的代码,个人感觉思路很好。 (laolaolai)谢谢你的建议及详解 DropDownList和iframe如何组合使用 求助关于asp.net jquery ajax问题 网站发布---用户控件问题 在asp.net中用xml如何读取属性 怎么控制textbox只能输入30个汉字 datatable数据查找 删除 neatupload上传问题 怎样在网页中计时 从做asp到asp.net的困惑 一个简单的问题!急急急^-^ .NET 怎么判断文件夹上传成功? VS2005中的配置管理器在哪儿啊?我都找了好久了!
foreach(Control ctl in this.Controls[1].Controls)
{
if(ctl.GetType().Name=="TextBox")
{
TextBox tb =new TextBox();
tb=(TextBox)this.FindControl(ctl.ID);
if(tb.Text==string.Empty)
{
Response.Write("<script>alert('" + ctl.ID + "的值为空。');</script>");
break;
}
}
}遍历控件里面的TextBox是否有一个为空
正如我先前说的,用户可以选择每个TextBox是否需要填写
{
if(v.value==null)
{
alert('不能为空!');
}
//继续后面的操作
}
<input type="text" value="sss" onclick="vail(this)">
昵称:textbox 删除这项
你想让用户选择是否填写昵称,那么就在像上面那样在后门增加一个选框,如果用户删除了这项,那么自然表单里面就没这项了
不好意思,我要表达的意思是每个TextBox都有为空和不为空两种情况,但是如果提交一份空的表单就有点浪费资源
我做的是一个报表,和Excel一样,我要判断的是内容
StringBuilder str = new StringBuilder();
StringBuilder str2 = new StringBuilder();
str2.Append("0000000000");
foreach (Control ctl in this.form1.Controls)
{
if (ctl.GetType().Name == "TextBox")
{
TextBox tb = new TextBox();
tb = (TextBox)this.FindControl(ctl.ID); if (tb.Text == string.Empty)
{
str.Append(0);
}
else
{
str.Append(1);
}
}
}
if (str.Equals(str2))
{
Response.Write("<script>alert('空表。');</script>");
}
else
Response.Write("<script>alert('成功。');</script>");
<table>
</table>
</html>
if (ctl.GetType().Name == "TextBox")建议改成
if(ctl.GetType()==typeof(TextBox))TextBox tb = new TextBox();
tb = (TextBox)this.FindControl(ctl.ID);
if (tb.Text == string.Empty)建议改成
Control ctrl = this.FindControl(ctl.ID);
if(ctrl != null)
{
TextBox tb = ctrl as TextBox;
if(String.IsEmptyOrNull(tb.Text))
{}
}
<table width="95%" border="0" cellspacing="0" cellpadding="0" style="border:2px #DBD8FE solid;" >
<tr>
<td>
<center>
<div>
<asp:Repeater ID="theData" runat="server" OnItemCommand = "R_ItemCommand">
<HeaderTemplate>
<table width="90%" frame =below rules=rows style=" height: 72px;border:1px #CDEFFC ;">
<tr>
<td colspan =4 align =left style="background-color: #ECECFF; font-size: large; font-weight: bold;">
板块列表
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
第一点建议接收,是我一直都没注意过这点
求第二点建议详解:if(ctrl != null)
(TextBox)this.FindControl(ctl.ID);
问题在于:this.FindControl(ctl.ID);为空时
相当于(TextBox)null,显然会导致异常。2、if(tb.Text == string.Empty)判断并不完整
对null并未作出判断。
所以建议用String.IsNullOrEmpty方法。你可以通过reflactor看一下IsNullOrEmpty的代码,个人感觉思路很好。