通过数据库中的ID更新信息 - ASP.NET/C#
感谢您在高级中查看我的问题。通过数据库中的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
我一直在尝试修复它一段时间,但我不知道我做错了什么!任何帮助,将不胜感激。
我认为Item.ID == 0不是0或null或其他值。请检查它的价值。
对不起,我可能应该补充一点,我在之前执行的函数中有这个(btnSave.CommandArgument = PlacementID.ToString();)但我不知道如何将这些信息传递给我上面写的函数? – lauw0203 2013-04-05 18:39:34
int PlacementID = Convert.ToInt32(btnSave.CommandArgument);而不是0作品。不知道为什么我这样做是诚实的! – lauw0203 2013-04-05 18:46:30
请用int.tryparse代替转换。 Tryparse不会抛出异常。 – qamar 2013-04-06 00:19:26
这是一个错字吗?不应该这条线
btnSave_Click+= new System.EventHandler(this.btnSave_Click);
被移动到可能的Page_Load事件,甚至是Pre_Init?
而且我觉得下面的答案应该是帮助你
你确定你从Placements.GetPlacementByExpiry(项ID,FALSE)现有项目;,而不是新的项目,你可以添加断点看它是否是一个新的ITEM。或者,在写入数据库之前输出您的ITEM信息并进行检查。 – ljh 2013-04-05 17:53:30