感谢您在高级中查看我的问题。通过数据库中的ID更新信息 - ASP.NET/C#
我想从保存按钮更新数据库中的信息。
目前我已经保存了它,但它将更新另存为新行。
我已经得到了希望更改的行的ID,但我正在努力使其工作。
ASP.NET:
<asp:Button runat="server" ID="btnSave" CssClass="btnSubmit" Text="Save" OnClick="btnSave_Click" />
C#:
protected void btnSave_Click(object sender, EventArgs e)
{
int ItemID = 0;
var Item = Placements.GetPlacementByExpiry(ItemID, false);
if (Item == null)
{
Item = new Placements();
}
Item.CategoryID = Convert.ToInt32(ddlCategory.SelectedValue);
Item.Title = txtTitle.Text;
Item.Company = txtCompany.Text;
Item.Location = txtLocation.Text;
Item.Duration = txtDuration.Text;
Item.SalaryFrom = Convert.ToDecimal(txtSalaryFrom.Text);
Item.SalaryTo = Convert.ToDecimal(txtSalaryTo.Text);
Item.SalaryType = ddlSalaryType.Text;
Item.Description = txtDescription.Text;
Item.Responsibilities = txtResponsibilities.Text;
Item.Requirements = txtRequirements.Text;
DateTime ExpiryDate = DateTime.ParseExact(txtExpiryDate.Text, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
Item.ExpiryDate = ExpiryDate;
Item.DateCreated = DateTime.Now;
if (Item.ID == 0)
{
Placements.CreatePlacement(Item);
}
else
{
Placements.UpdatePlacement(Item);
}
mvEdit.SetActiveView(vwList);
}
我试图把一个命令的参数上的按钮,并在后端改变了它,但收到以下错误:
Error 1 No overload for 'btnSave_Click' matches delegate 'System.EventHandler' C:\Users\laura\Documents\Visual Studio 2010\WebSites\ThirdYearProject\tools\controls\placements\edit.ascx 239
我一直在尝试修复它一段时间,但我不知道我做错了什么!任何帮助,将不胜感激。
你确定你从Placements.GetPlacementByExpiry(项ID,FALSE)现有项目;,而不是新的项目,你可以添加断点看它是否是一个新的ITEM。或者,在写入数据库之前输出您的ITEM信息并进行检查。 – ljh 2013-04-05 17:53:30