我在VS里的网页里添加了 一个textbox 二个Button 还有一个 listbox
控件。
我就是想实现一个很简单的添加书名的功能(书名添加到listbox中)。将用户输入到 textbox中的文本与listbox控件中的每一项进行比较。
如果:listbox中存在等值的项,则提示"书名已经存在"。如不存在则将文本添加到listbox中。我写的代码,当第一次输入相同书名时会提示书名已存在,但当第二次输入相同书名时就报错了。
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Trim() == "")
{
Response.Write("请输入书名!");
}
else
{
foreach (ListItem li in ListBox1.Items)
{
if (li.Text == TextBox1.Text.Trim())
{
Response.Write("该书已存在!");
break;
}
else
{
ListBox1.Items.Add(TextBox1.Text.Trim());
Response.Write("添加成功!");
}
}
}各位大虾帮帮我,谢了! 还有如果想删除listbox中的一个项 该怎么写代码啊?
还有当我添加书名成功后,数据为什么不能永久保存到 LISTBOX中啊,还是只能即时的显示在网页中的LISTBOX控件中,关闭重新运行就不存在了。是不是不能用ADD方法?报错的图片在百度知道我提的问里有 地址是 http://zhidao.baidu.com/question/151381445.html 两边回答都给分啊!
控件。
我就是想实现一个很简单的添加书名的功能(书名添加到listbox中)。将用户输入到 textbox中的文本与listbox控件中的每一项进行比较。
如果:listbox中存在等值的项,则提示"书名已经存在"。如不存在则将文本添加到listbox中。我写的代码,当第一次输入相同书名时会提示书名已存在,但当第二次输入相同书名时就报错了。
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Trim() == "")
{
Response.Write("请输入书名!");
}
else
{
foreach (ListItem li in ListBox1.Items)
{
if (li.Text == TextBox1.Text.Trim())
{
Response.Write("该书已存在!");
break;
}
else
{
ListBox1.Items.Add(TextBox1.Text.Trim());
Response.Write("添加成功!");
}
}
}各位大虾帮帮我,谢了! 还有如果想删除listbox中的一个项 该怎么写代码啊?
还有当我添加书名成功后,数据为什么不能永久保存到 LISTBOX中啊,还是只能即时的显示在网页中的LISTBOX控件中,关闭重新运行就不存在了。是不是不能用ADD方法?报错的图片在百度知道我提的问里有 地址是 http://zhidao.baidu.com/question/151381445.html 两边回答都给分啊!
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Trim() == "")
{
Response.Write("请输入书名!");
}
else
{
foreach (ListItem li in ListBox1.Items)
{
if (li.Text == TextBox1.Text.Trim())
{
Response.Write("该书已存在!");
break;
}
else
{
ListBox1.Items.Add(TextBox1.Text.Trim());
Response.Write("添加成功!");
break;//如果你这里没有停止的话,还会继续foreach,但你已经修改了集合
}
}
}
2。网页程序都是无状态的,想要打开页面就能读出上一次选择的内容. 你就必须在一开始就及时保存下来这些数据,利用Session,cookie等等都可以实现.
{
Response.Write("请输入书名!");
}
else
{
foreach (ListItem li in ListBox1.Items)
{
if (li.Text.Equals(TextBox1.Text.Trim()))
{
Response.Write("该书已存在!");
break;
}
else
{
ListBox1.Items.Add(TextBox1.Text.Trim());
Response.Write("添加成功!");
break;
}
ListBox1.Items.Remove(li);
{
if (TextBox1.Text.Trim() == "")
{
Response.Write("请输入书名!");
}
else
{
bool hasBook;
foreach (ListItem li in ListBox1.Items)
{
if (li.Text == TextBox1.Text.Trim())
{
hasBook = true;
}
}
if (hasBook)
{
Response.Write("该书已存在!");
}
else
{
ListBox1.Items.Add(TextBox1.Text.Trim());
Response.Write("添加成功!");
}
}
}删除ListBox项的方法:
listbox.Items.Remove(TextBox1.Text.Trim());
上面忘赋初始值了,不好意思
如有 123 456 789 这3个书名 当再次添加书名123会正常提示书名已存在 但当添加 书名456 和789时就不会提示书名已存在了。不知道为什么会出现这个问题。 “mindsky(超然) ” 的方法功能是实现了,但是这种定义变量的方法我也想到了,变量定义太多不好。我最后自己想了半天 忽然觉得自己很SB 其实在foreach里的判断加个return就行了。 呵呵 protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Trim() == "")
{
Response.Write("请输入书名!");
}
else
{
foreach (ListItem li in ListBox1.Items)
{
if (li.Text == TextBox1.Text.Trim())
{
Response.Write("该书已存在!");
return;
}
}
//运行到这 肯定就是没有相同书名了。
ListBox1.Items.Add(TextBox1.Text.Trim());
Response.Write("添加成功!");
}
}