如何解决ListView中的EditItem-不加载编辑模板
| 你好, 我不知道这是否是已知问题-但是,当我单击一次“编辑”按钮时-服务器重新加载了列表视图-当我再次单击“编辑”按钮时,我收到了EditTemplate并且可以进行编辑列表视图...这是已知的行为吗? 此外:后面的c#正在整个编辑周期中工作(加载特殊的编辑数据)-但我仍然只看到通常的\“ view \\”。 //为问题添加了一些肉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();
}
这是编辑功能-用户按下\“ edit \”按钮后即会调用---两次尝试均已完成..但是,仅第二次尝试会返回\“ EditItemTemplate \”。
对于edit事件,page_load函数是不必要的,因为edit事件是回发事件,因此在两种情况下都将跳过页面加载。
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)
{
...
}
}
}
}
解决方法
将其添加到ItemEditing处理程序的开头:
speiseplanListView.EditIndex = e.NewEditIndex;
另外,验证speiseplanListView.DataBind();页面加载处理程序中的回发时未调用。
最后,本教程可能对您有价值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。