1

Page-Load メソッドでは、このようにテキストボックスの値を設定します

txtid.Value = pro.getId().ToString();
txtmodel.Text = pro.getModal();
txtname.Text = pro.getName();
cbCategory.SelectedValue = pro.getCategory();
txtprice.Text = pro.getPrice().ToString();
txtDescription.Text = pro.getDescription();

製品を編集するために送信すると、価値が得られます

string id = txtid.Value.ToString();
string modal = txtmodel.Text.ToString();
int category = int.Parse(cbCategory.SelectedValue);
string name = txtname.Text.ToString();
string description = txtDescription.Text.ToString();

元の値とは異なる値を変更しようとしましたが、バグが発生しても元の値を保持してデータベースに保存します。

4

2 に答える 2

0

これらの値をどこに設定しているかpage loadが理由かもしれません。
内部に設定if (!Page.IsPostBack)
次のように

if (!Page.IsPostBack)
{
     txtid.Value = pro.getId().ToString();
     txtmodel.Text = pro.getModal();
     txtname.Text = pro.getName();
     cbCategory.SelectedValue = pro.getCategory();
     txtprice.Text = pro.getPrice().ToString();
     txtDescription.Text = pro.getDescription();
}

なぜあなたtxtid.Valueはそれを使用していhidden-fieldますか?

于 2013-02-21T06:34:24.090 に答える
0

Asp.net では、クリック イベントごとにページがポストバックされるため、ページの読み込み時にコードを if(!ispostback) preasent に配置します。

if (!IsPostBack)
{
     txtid.Value = pro.getId().ToString();
     txtmodel.Text = pro.getModal();
     txtname.Text = pro.getName();
     cbCategory.SelectedValue = pro.getCategory();
     txtprice.Text = pro.getPrice().ToString();
     txtDescription.Text = pro.getDescription();
}
于 2013-02-21T07:08:52.973 に答える