我只希望在Page_Load
保存方法完成后触发该方法。
我创建了一个网页/站点,用作 MySQL 数据库的用户界面。最初我使用纯 JavaScript 和 HTML,它很实用,但很烦人,因为用户每次从一个页面导航到另一个页面时都必须点击三个确认按钮。
我通过将数据库调用转移到 .aspx.cs 文件以及一些表单和报告的数量来消除这种烦恼。然而,虽然页面/站点现在再次正常运行,但现在它需要用户按下保存按钮,然后将他们希望保存的数据插入数据库,然后再次按下保存。同样,如果他们希望在详细视图中查看记录,然后循环浏览记录,他们必须按两次下一个或上一个按钮。
我已经在调试中进行了跟踪,并且第一次单击按钮时,它会命中该Page_Load
方法,但没有别的。然后,当您再次单击时,它会点击按钮链接到的方法,然后点击该Page_Load
方法。
这很烦人,因为用户希望输入一次信息,然后点击保存并让信息保持原样......不会消失,需要第二次输入。
我不想像在这里所做的那样关闭页面加载:https ://stackoverflow.com/a/19454346/11035837
我只希望它在保存方法完成后触发。
我该怎么做呢?
以下是我正在使用的 c# 方法(精简)。尽我所能告诉他们在文件中的放置顺序没有影响。
当方法是按钮构造中引用的方法时,为什么Page_Load
要调用该方法?saveRecord
protected void Page_Load(object sender, EventArgs e)
{
loadRecord();
loadBackButton();
loadRecordCycleButtons();
loadSaveButton();
}
protected void loadSaveButton()
{
SAVE_PH.Controls.Clear();
string prevPage = getPreviousPage();
string accessStatus = getViewEdit();
LinkButton save_BTN = new LinkButton();
save_BTN.ID = "save_BTN";
save_BTN.Text = "Save"; save_BTN.Visible = true;
save_BTN.BackColor = Color.Green; save_BTN.ForeColor = Color.Black; save_BTN.BorderColor = Color.Gray;
save_BTN.BorderStyle = BorderStyle.Solid; save_BTN.BorderWidth = 2; save_BTN.Width = 60;
save_BTN.Attributes.Add("style", "text-align:center; border-color: white gray gray white; text-decoration:none");
save_BTN.Click += new EventHandler(saveRecord);
if (accessStatus != "View") { SAVE_PH.Controls.Add(save_BTN); }
}
凤凰求蛊
相关分类