我有一个很奇怪的问题。我正在编写一个项目编辑页面时遇到了一些奇怪的bug,即ASP将旧值传给C#.cs
代码。C#获取文本字段的以前加载的值
在我Page_Load
private int SomeID = 0;
if (!IsPostBack) {
...
SomeID = Convert.ToInt32(Page.RouteData.Values["id"])
LoadFunction();
}
加载功能:
DataBaseDataContext db = new DataBaseDataContext();
var Item = db.FirstOrDefault(k => k.ID == SomeID);
NameTextBox.Text = Item.Name;
PriceTextBox.Text = Item.Price.ToString();
节电功能:
DataBaseDataContext db = new DataBaseDataContext();
var Item = db.FirstOrDefault(k => k.ID == SomeID);
Item.Name = NameTextBox.Text;
Item.Price = Convert.ToDecimal(PriceTextBox.Text);
...
db.SubmitChanges();
我打扰了,为什么它不保存更改我,所以我在保存函数中设置db.SubmitChanges()
断点(加载工作正常)。但是,当我在VisualStudio中查看预览值时,它告诉我它想要发送先前加载的值,而不是我在表单中编辑的值。
我必须缺少一些东西,因为它在我的代码的其他地方工作,但我不知道它是什么。
什么是您的Page_Load样子? –
我编辑了文章 – Lemurr
当你命中断点时,NameTextBox.Text显示什么?旧的或编辑的值? – YK1