zoukankan      html  css  js  c++  java
  • 禁用Viewstate在使用母版的内容页面里使用Datalist可能不触发事件的解决方案

    最近做一个网站,为了提高性能,所以在web.config里适用了如下代码:
     <pages enableEventValidation="false" validateRequest="false" theme="021friend" enableViewState="false" enableViewStateMac="false"/>
    有一个DataList控件,在它的模板里放置了两个按钮


    <asp:DataList ID="DataList1"  DataSourceID="SqlDataSource1" RepeatColumns=4 runat="server" DataKeyField="pic_id"  onitemcommand="DataList1_ItemCommand" width="162px"><ItemTemplate>
     
     
     


    <asp:Button CausesValidation="false"  runat=Server ID="delete" Text="删除照片" CommandName="delete"  BorderStyle=solid BorderColor=#336699 BorderWidth=1px/>
    <asp:Button  CausesValidation="false"  runat=Server ID="setup" Text="set" CommandName="setup"  BorderStyle=solid BorderColor=#336699 BorderWidth=1px/>

     
     
    </div>
     <hr />
    </ItemTemplate>
    </asp:DataList>

     DataList1的数据源在后台实现

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
    ...
    DataList1.DataSource = ds.Tables[0];
           DataList1.DataBind();

            }
        }

    但是在执行过程中,通过设置断点,DataList1_ItemCommand根本不会执行,解决这个问题有2个方法:
    1)启用viewstate,但是这里在page指令里适用viewstate=true并不可以,因为你适用了母版,如果没有母版就可以的,所以你需要在web.config设置启用viewstate
    2)适用SqlDataSource控件,也就是在SqlDataSource里绑定DataLists
     




     
  • 相关阅读:
    mac的端口被占用
    php中的运算符、控制结构
    文档模式影响浏览器的渲染
    ubuntu 命令 tips 来自于 ubuntu中文论坛
    用好 Emacs 中的 register
    [转载] Rsync命令参数详解
    使用 python 遍历目录下的文件
    灵活的左移位( << )操作
    使用 iperf 测试两台机器间的最大带宽
    Emacs server 新启动方式 (仅在emacs daemon未启动时才启动daemon)
  • 原文地址:https://www.cnblogs.com/mqingqing123/p/1012992.html
Copyright © 2011-2022 走看看