Howdy、 これは既知の問題であるかどうかわかりませんが、編集ボタンを1回クリックすると、サーバーはリストビューをリロードします。ボタンをもう一度押すと、EditTemplateが表示され、リストビューを編集できます...これは既知の動作ですか?ListViewのEditItem - 編集テンプレートをロードしない
さらに、c#の背後は完全な編集サイクル(特殊な編集データを読み込む)が行われていますが、通常の「ビュー」しか表示されません。
は//これは編集機能である
public void test_ItemEditing(Object sender, ListViewEditEventArgs e)
{
// returns the current key
DataKey currentDataKey = speiseplanListView.DataKeys[e.NewEditIndex];
// fetches the information - for the whole plane
DataTable speiseplan = getSpeiseplan(0);
DataTable preisgruppen = getPreisgruppen();
extractTags(speiseplan);
extractPreise(speiseplan, preisgruppen);
speiseplanListView.DataSource = speiseplan;
speiseplanListView.DataBind();
}
の質問にいくつかの肉を追加しました - ---それは、両方の試行に完了しています。ユーザーは、「編集」ボタンを押した後に呼び出されますがのみ2回目のtryは "EditItemTemplate"を返します。
editイベントは、編集イベントがポストバックイベントであるため、page_load関数はむしろ不要です。そのため、ページの読み込みはどちらの場合もスキップされます。
protected void Page_Load(object sender, EventArgs e)
{
if (Session["USERID"] == null)
{
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
Session.Abandon();
}
else
{
this.kantinenID = Convert.ToInt32(Request["id"]);
this.userID = Convert.ToInt16(Session["USERID"]);
if (IsPostBack == false)
{
try
{
switch (Request["action"])
{
...
}
}
catch (System.FormatException ex)
{
...
}
}
}
}
にいくつかの値であってもよく、ページのライフサイクルの問題のように...あなたはすべてのpageRequestであなたのListViewコントロールのデータをバインドしますか?あなたはいくつかのコードplsを表示することができます –
質問にいくつかのコードを追加してください – Stefan
ページはかなり大きいので、コードのどの部分を見たいですか? – theXs