我正在做填字游戏,面板中有 100 个文本框,如下所示:
每个文本框都有 00 - 99 的 id,因为它有 100 个。
第一行的 ID 为 00-09
,第二行的 ID 为 10-19
,依此类推。
当用户在某些文本框中键入内容时,null
并且某些文本框将包含值。如何将某个 id 的文本框中的值保存到数据库中?例如上图,HELP
,文本框 id 为 22
的值为 H
,id 为 23
将具有 E
的值,24
的 id 将具有 L
的值,25
的 id 将具有值的 P
。
我不想保存文本框的 null
值,我想保存非 null
的文本框值。我还需要考虑它们的文本框 ID,这样当我将它们填充回来时,我只需要通过 ID 插入它们。
我是 C# 的新手,感谢任何帮助/建议/解决方案。
这是我的代码:
protected void Page_Load(object sender, EventArgs e)
{
//hw.Write("<table>");
for (int i = 0; i <= 9; i++)
{
//hw.Write("<tr>");
for (int j = 0; j <= 9; j++)
{
TextBox tb = new TextBox();
tb.MaxLength = (1);
tb.Width = Unit.Pixel(40);
tb.Height = Unit.Pixel(40);
tb.ID = i.ToString() + j.ToString(); // giving each textbox a different id 00-99
Panel1.Controls.Add(tb);
}
Literal lc = new Literal();
lc.Text = "<br />";
Panel1.Controls.Add(lc);
}
}
protected void btnShow_Click(object sender, EventArgs e)
{
foreach (Control control in Panel1.Controls)
{
var textBox = control as TextBox;
if (textBox != null)
{
if (string.IsNullOrEmpty(textBox.Text))
{
textBox.Style["visibility"] = "hidden";
}
// textBox.Enabled = false;
textBox.Text = "";
}
}
}
最佳答案
执行此操作的正确方法是将这些文本框包装在 Repeater 或 Datalist 控件中。您可以从 here 了解这些控件.这样,当行数增加时,您不必更改循环或硬编码值。
关于为给定 ID 存储值的问题,您可以在数据库中定义 row# 和 col# 并按 row# 和 col# 排序,这应该可行。
关于c# - 将文本框值存储到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17267080/