zoukankan      html  css  js  c++  java
  • repeater中使用html checkbox 备忘录

    以前,一直很“苦闷”,绑定repeater后,不能把<%# Eval("ID")%> 放到 <asp:CheckBox 中的value中去,因为:<asp:CheckBox只有text 没有value,绑定到text中,在ASPX中,又会把ID显示出来,由于工作中只有自己一个人,只能求助于网络,也没找到一个合适的方法,无耐的想、想.。。。终于有了一个方案来解决这个问题。

    比喻: 现在有一个新闻列表 ,每一行有一个html checkbox 来让管理员审核这条新闻。

    放入repeater

     <asp:Repeater ID="rptList" runat="server">
        <ItemTemplate>
       <tr> <td >
        <input runat="server"  onserverchange="chkBox_CheckNews"  id='curNews'  type="checkbox" value='<%#Eval("TestID")  %>' />

    </td><td> <%# Eval("TestTitle") %></td></tr>
         </ItemTemplate>
    </asp:Repeater>

    重点是: <input runat="server"  onserverchange="chkBox_CheckNews"  id='curNews'  type="checkbox" value='<%#Eval("TestID")  %>' />

    是由  <input   id='curNews'  type="checkbox" value='<%#Eval("TestID")  %>' /> 改造而来

    然后加上一段js:

      <script>
           $(function () {

               $("input[type=checkbox]").click(function () {

                   if ($(this).attr("checked")) {
                       var curValue = $(this).val();

                      
                      // $("#hd").val(curValue);
                       __doPostBack($(this).attr("id"), "");
                   }
               });
           })
       </script>

    现在问题就是  __doPostBack ,怎么产生????

    可以加一个linkbutton按钮,让页面自动生成,而我选择了另外一种小方法

    在CS页面的page_load事件中加入: Page.GetPostBackEventReference(控件名);

    这个函数,能在aspx中自动生成__doPostBack函数和其它需要的条件。

    接下来就是在 cs页加审核事件:chkBox_CheckNews

      public void chkBox_CheckNews(object sender, EventArgs e)
            {
               // CheckBox tmpBox = sender as CheckBox;

                System.Web.UI.HtmlControls.HtmlInputCheckBox tmpBox = sender as System.Web.UI.HtmlControls.HtmlInputCheckBox;

                    if (tmpBox != null)
                    {

                       // Response.Write(tmpBox.Value);

            NewsDal.CheckNewsByID(tmpBox.Value);
                    }
                    else
                    {
                      //
                    }
                }

    OK,这样,以后,如果你有类似的功能时:比喻删除数据,审核、等就不必转到其它页面处理了

    如果你有更多好的方法,请指教,本人一直一个人在一家公司工作,所以,难免是“井底之蛙”...

  • 相关阅读:
    Qt计算器开发(三):执行效果及项目总结
    [HNOI2019]校园旅行
    How to fix nuget Unrecognized license type MIT when pack
    How to fix nuget Unrecognized license type MIT when pack
    git 通过 SublimeMerge 处理冲突
    git 通过 SublimeMerge 处理冲突
    git 上传当前分支
    git 上传当前分支
    gif 格式
    gif 格式
  • 原文地址:https://www.cnblogs.com/tangself/p/1855412.html
Copyright © 2011-2022 走看看