我有一个按钮,用于在winforms c#中存储80个文本框的文本值。
此按钮看起来像这样
private void btnSaveChanges_Click(object sender, EventArgs e)
{
//Create new connection to the MongoDB Database and select the database and "table"
var nol = NetworkOpsLayer.NetworkOpsLayer.CreateForDirectMongoConnection("mongodb://snipip", "snipdbname", "snip");
//Inser the document starting with the selected node name, id, timestamp and then the entire loan data
nol.InsertDoc("{ \"LoanName\" : \"" + tvTodoList.SelectedNode.Name + "\", \"AgentName\" : \"" + txtAgentName.Text + "\" }");
}
这种方法可行,但我最终会得到一个很长的字符串。 nol.InsertDoc("{long JSON string of keys and textboxIDs}")
因为每个带有JSON密钥的80个文本框值都将包含在字符串中。
我想知道是否有更好的方法来解决这个问题?是否仍然可以通过循环表单上的每个文本框来形成一个有效的JSON字符串,并为它提供一个与文本框相关的密钥,以便它可以在MongoDB数据库中识别?
答案 0 :(得分:1)
您可以遍历控件,选择文本框的名称和相应的值,如下所示:
List<string> textboxNames = new List<string>();
List<string> textboxValues = new List<string>();
foreach (var c in this.Controls)
{
if (c is TextBox)
{
textboxNames.Add((c as TextBox).Name);
textboxValues.Add((c as TextBox).Text);
}
}
您对这些值的处理取决于您:)