我有很多字段正在尝试从中检索数据以传递给MySQL数据库。
这是我现在正在使用的方法:
...
PlaceHolder MAIN = Page.FindControl("MAIN_PH") as PlaceHolder;
HtmlTable tblMain = MAIN.FindControl("Table1") as HtmlTable;
HtmlTableRow ROW1 = tblMain.FindControl("ROW1") as HtmlTableRow;
HtmlTableCell R1_CELL = ROW1.FindControl("R1_CELL") as HtmlTableCell;
TextBox Field1 = R1_CELL.FindControl("Field1") as TextBox;
HtmlTableRow ROW2 = tblMain.FindControl("ROW2") as HtmlTableRow;
HtmlTableCell R2_CELL1 = ROW2.FindControl("R2_CELL1") as HtmlTableCell;
DropDownList Field2= R2_CELL1.FindControl("Field2") as DropDownList;
HtmlTableCell R2_CELL2 = ROW2.FindControl("R2_CELL2") as HtmlTableCell;
DropDownList Field3= R2_CELL2.FindControl("Field3") as DropDownList;
...
...
MySqlConnection conn = new MySqlConnection();
conn.ConnectionString = getConnectionString().ToString();
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "UPDATE_RECORD";
cmd.Parameters.Clear();
cmd.Parameters.Add(new MySqlParameter("@FIELD1", Field1.Text));
cmd.Parameters["@FIELD1"].Direction = ParameterDirection.Input;
cmd.Parameters.Add(new MySqlParameter("@FIELD2", Field2.SelectedValue.ToString()));
cmd.Parameters["@FIELD2"].Direction = ParameterDirection.Input;
cmd.Parameters.Add(new MySqlParameter("@FIELD3", Field3.SelectedValue.ToString()));
cmd.Parameters["@FIELD3"].Direction = ParameterDirection.Input;
...
我看了以下内容:
https://stackoverflow.com/a/4955836/11035837
https://stackoverflow.com/a/1457615/11035837
,但是如果我要对每个Field值对MySQL进行不同的调用,这些似乎很好。 (特别是如果我将一些连接字符串数据作为参数存储到控件本身中)。
是否有更好的方法来获取所有这些值?
类似的东西:
Field1= SomeFunction(ControlName).Text
Field2= SomeFunction(ControlName).SelectedValue
无需在上面编写与自己的方法相同的代码?
我当然可以编写一个单独的方法,该方法对每个控制层/分支进行繁琐的检查,但最终还是可以节省我一些时间,但是有什么方法可以节省我现在和以后的时间吗? / p>