zoukankan      html  css  js  c++  java
  • 完美解决ListView中事件ItemCreated中使用ClientID导致插入数据失败

    于昨天晚上看到视频做到这个例子,但是发现始终有错误,在ListView的ItemCreated事件中使用了ClientID则会导致数据插入数据库失败。当点击插入按钮时,网页就像点击F5刷新一样,无任何数据插入数据库。而把ClientID删除,重新启动程序,插入数据一切正常。于今天在网上查了一下资料,发现原来这是微软的一个Bug地址如下http://connect.microsoft.com/VisualStudio/feedback/details/328680/problem-accessing-controls-clientid-on-asp-net-listviews-itemcreated但是好像现在都没有更新,但是这里面给了几个解决方案,对与一般性的问题都可以解决了,但是对于这个问题,还是没有很好的解决,通过查资料发现在ItemCreated事件中使用ClientID属性会将客户端渲染的id号改变,所以就出现了不能插入、与更新数据,下面给出解决方法,其实方法较简单(晕,当时怎么没有想到)

     
     
    protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
     {
     
     
                if (e.Item.ItemType == ListViewItemType.InsertItem)
                {
                    DropDownList dp = (DropDownList)e.Item.FindControl("dpLinkType");
                    TextBox logurl = (TextBox)e.Item.FindControl("logurl");
                    if (dp != null && logurl != null)
                    {
                        string myid = "findid";
                        logurl.Attributes["findID"] = myid;//通过这里为要找到的服务端控件给一个自定义的标识,注意这里还是不能使用ClientID这个属性,不然就会有错
                        dp.Attributes["onchange"] = "dpchange(this,'"+myid+"')";//传到客户端的JQuery方法中也用这个表示,然后通过属性选择器就可以找到相应的控件了
                        if (dp.SelectedValue == "Text")
                        {
                            logurl.Style["display"] = "none";
                        }
     
     
                    }
      }
     
    客户端代码:
    <script src="../js/jquery-1.4.2.js" type="text/javascript"></script>
        <script type="text/javascript">
            function dpchange(src, dpClientid) {
                var $logo = $("input[findID=" + dpClientid + "]");//通过从服务器端传来的参数,找到相应的控件;       
                if ($(src).val() == "Text") {
                    $logo.hide();                           
                }
                else {
                    $logo.show();                            
                }
             }
        </script>
  • 相关阅读:
    20172327 2018-2019-1 《程序设计与数据结构》实验三:查找与排序
    团队作业第二周
    需求规格说明书
    广度优先遍历
    团队作业第一周
    20172327 2018-2019-1 《程序设计与数据结构》第九周学习总结
    20172327 2018-2019-1 《程序设计与数据结构》实验二:树实验报告
    20172327 2018-2019-1 《程序设计与数据结构》第八周学习总结
    20172327 2018-2019-1 《程序设计与数据结构》第七周学习总结
    20172327 2018-2019-1 《程序设计与数据结构》第六周学习总结
  • 原文地址:https://www.cnblogs.com/fanyf/p/3557761.html
Copyright © 2011-2022 走看看