微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ListView中的EditItem-不加载编辑模板

如何解决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 举报,一经查实,本站将立刻删除。