0
嗨,我想簡化我的代碼crud messagebox。我目前有幾乎20頁的CRUD表格有4個按鈕的創建,更新刪除和重置。我如何簡化這個成爲用戶控件?讓我不必須保留書面方式 「保存成功」, 「對不起,錯誤」,....我怎樣才能簡化crud
我的代碼
protected override void btnSave_Click(object sender, EventArgs e)
{
if (!validateBeforeSave()) return;
if (MessageBox.Show(MessageManager.SaveAsk, "Are you sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
try
{
BindValueToObject();
if (Convert.ToInt32(lblEmpId.Text) == 0)
{
user.Add();
ResetAfterSave(true, user.Id);
base.Success = true;
}
else
{
user.Update();
ResetAfterSave(false, user.Id);
base.Success = true;
}
base.btnSave_Click(this, null);
}
catch (Exception ex)
{
Logger.Error(typeof(UsersForm), ex.ToString());
base.Success = false;
base.btnSave_Click(this, null);
}
}
}
protected override void btnDelete_Click(object sender, EventArgs e)
{
if (null == dgUser.CurrentRow) return;
user.Id = (int)dgUser.SelectedRows[0].Cells["empId"].Value;
try
{
if ((MessageBox.Show(MessageManager.DeleteAsk, "Are you sure to delete?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes))
{
user.Delete();
ResetAfterSave(false, 0);
base.Success = true;
base.btnDelete_Click(this, null);
}
}
catch
{
base.Success = false;
base.btnDelete_Click(this, null);
}
}
的base.btnSave_Click(本,NULL);在我傳遞國旗的地方打電話給我。
protected virtual void btnSave_Click(object sender, EventArgs e)
{
if (this.success)
MessageBox.Show(MessageManager.SaveSuccess, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
{
MessageBox.Show(MessageManager.SaveFailed, "Fail to save", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return;
}
}
我覺得非常討厭重寫這一遍。
一些代碼將很好地展示你到底在做什麼。 – Woot4Moo 2011-04-19 02:15:46
我認爲這取決於你如何設計你的用戶界面。對我而言,通常我會通過刪除和更新鏈接檢索。通常選擇是在加載時完成的,然後用戶可以進行過濾,或者點擊他們想要更新或刪除的人。這3個在1頁中彙集在一起。插入功能將以彈出窗口的形式出現,其中顯示新的用戶界面 – 2011-04-19 02:20:19
我認爲一個沒有彈出的CRUD頁面會更好。這將幫助你用左邊的gridview和右邊的一些控件來顯示一個頁面,例如文本框..點擊gridview將顯示這些數據到右側的控件。 – VeecoTech 2011-04-19 02:28:58