protected void build_table()
{
...
foreach (DataRow row in Stages.Rows)
{
for (int j = 0; j < numrows; j++)
{
if (MySQL.myData.Length == j) break;
TableRow tr = new TableRow();
for (int k = 0; k < numcells; k++)
{
if (row_id != Convert.ToInt16(row["ID"]))
{
if (k == 0)
{
TableHeaderCell thc = new TableHeaderCell();
thc.Controls.Add(new LiteralControl(row["ID"].ToString()));
tr.Cells.Add(thc);
}
else if (k == 1)
{
TableHeaderCell thc = new TableHeaderCell();
thc.Controls.Add(new LiteralControl(row["Name"].ToString()));
tr.Cells.Add(thc);
thc.ColumnSpan = 3;
}
else
{
row_id = Convert.ToInt16(row["ID"]);
MySQL.Connect("SELECT position, ppe.name FROM pp_existing_stages pes LEFT JOIN pp_events ppe ON pes.id_event = ppe.id WHERE id_plan = (SELECT id FROM pp_plan WHERE pp_information = '" + plan + "') AND id_stage = " + row_id + " ORDER BY position");
j--;
break;
}
}
else
{
if (k == 0)
{
TableCell tc = new TableCell();
tc.Controls.Add(new LiteralControl(row_id + "." + MySQL.myData[j].ItemArray[k].ToString()));
tr.Cells.Add(tc);
}
else if (k == 1)
{
TableCell tc = new TableCell();
tc.Controls.Add(new LiteralControl(MySQL.myData[j].ItemArray[k].ToString()));
tr.Cells.Add(tc);
}
else if (k == 2)
{
TableCell tc = new TableCell();
TextBox txt = new TextBox();
txt.ID = "price_" + row_id + "_" + MySQL.myData[j].ItemArray[0].ToString();
txt.Attributes.Add("style", "width:100%");
tc.Controls.Add(txt);
tr.Cells.Add(tc);
}
else if (k == 3)
{
TableCell tc = new TableCell();
TextBox txt = new TextBox();
txt.ID = "week_" + row_id + "_" + MySQL.myData[j].ItemArray[0].ToString();
txt.Attributes.Add("style", "width:100%");
tc.Controls.Add(txt);
tr.Cells.Add(tc);
}
}
}
Table1.Rows.Add(tr);
}
}
}
函数调用
protected void Selection_Change1(Object sender, EventArgs e)
{
............
if(DropDownList1.SelectedIndex != 0)
build_table();
}
protected void Page_Load(object sender, EventArgs e)
{
........
var pp_index = HttpUtility.UrlEncode(Request.QueryString["pp_index"]);
if (!IsPostBack)
if (!String.IsNullOrEmpty(pp_index))
{
DropDownList1.SelectedIndex = Convert.ToInt32(pp_index);
Selection_Change1(DropDownList1, System.EventArgs.Empty);
}
........
}
形成一个表格:
表中的每个输入字段都有一个唯一的 id (price_1_1等price_2_3)
用户必须填写这些字段。在表格的底部有一个按钮,当点击时,数据应该被发送到服务器部分并在那里处理。
问题是按下按钮会导致页面重新加载,随后会清除输入的数据。
不使用jQuery是否可以解决问题?如果是这样,怎么做?如果没有,这如何在 jQuery 中实现(一个例子会很有帮助)。
当然可以在按下按钮的那一刻,但在重新加载页面之前获取所有输入的数据。

干得好。仅在 GET 请求的情况下才会填写您的表格:
但它应该总是。
TextBox- 你不会突然出现。