我有一個很奇怪的問題。我正在編寫一個項目編輯頁面時遇到了一些奇怪的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