首页 新闻 赞助 找找看

求助:CHECKBOX前台后台传递的问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2015-03-10 12:40

现象:我是前台绑定的多个asp的checkbox,因为需要根据动态模板绑定,所以在后台拼了一个JS打到前台页面底部,通过点击一个checkbox,联动整个模板上需要选中的checkbox,这时候出现两个问题,第一个是前台通过模板控制的checkbox在后台取值与画面上的选中效果不一致,第二个就是在IsPostBack的情况下中间出现check程序return出去的时候,HTML里的JS丢失了,是不是ClientScript.RegisterStartupScript还有什么周期之类的。

下面是代码

<div id="divZuTuanShe" runat="server">
                                        <div style="float: left; margin: 10px 20px 0px 0px">
                                            <b>散客预订</b><br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbGuoNeiXianLu" runat="server" Text="国内线路" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbGuoJiXianLu" runat="server" Text="国际线路" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbZhouBianXianLu" runat="server" Text="周边线路" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbZiYouXing" runat="server" Text="自由行" />
                                            </label>
                                            <br />
                                        </div>
                                        <div style="float: left; margin: 10px 20px 0px 0px">
                                            <b>订单管理</b><br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbSanKeDingDan"  runat="server" Text="散客订单" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbChouKeFenXi" runat="server" Text="收客分析" />
                                            </label>
                                            <br />
                                        </div>
                                        <div style="float: left; margin: 10px 20px 0px 0px">
                                            <b>财务中心</b><br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbYingFuKuan" runat="server" Text="应付款" />
                                            </label>
                                            <br />
                                        </div>
                                        <div style="float: left; margin: 10px 20px 0px 0px">
                                            <b>系统管理</b><br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbJiFenGuanLi" runat="server" Text="积分管理" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbGongSiGuanLi" runat="server" Text="公司管理" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbGeRenXinXi" runat="server" Text="个人信息" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbYongHuGuanLi" runat="server" Text="用户管理" />
                                            </label>
                                            <br />
                                        </div>
                                        <div style="float: left; margin: 10px 20px 0px 0px">
                                            <b>报价单下载</b><br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbBaoJiaDanXiaZai" runat="server" Text="报价单下载" />
                                            </label>
                                            <br />
                                        </div>
                                        <div style="float: left; margin: 10px 20px 0px 0px">
                                            <b>UTB管理</b><br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbUtbGuanLi" runat="server" Text="UTB管理系统" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbUtbShiYong" runat="server" Text="UTB使用流程" />
                                            </label>
                                            <br />
                                        </div>
                                        <div style="float: left; margin: 10px 20px 0px 0px">
                                            <b>操作权限</b><br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbTianJia" runat="server" Text="添加" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbShanChu" runat="server" Text="删除" />
                                            </label>
                                            <br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbXiuGai" runat="server" Text="修改" />
                                            </label>
                                            <br />
                                        </div>
                                        <div style="float: left; margin: 10px 20px 0px 0px">
                                            <b>用户区分</b><br />
                                            <label>
                                                <asp:CheckBox class="cbAAuthority" ID="cbGuanLiYuan" runat="server" Text="管理员" />
                                            </label>
                                            <br />
                                        </div>
                                        <div style="float: left; margin: 10px 20px 0px 0px" id="divMoBan" runat="server">
                                            <br />
                                            <label>
                                                <asp:CheckBox ID="cbZuTuanShe" runat="server" Text="默认模板" />
                                            </label>
                                            <br />
                                        </div>
                                    </div>

下面是我绑定JS的代码

 strJs.Append(@"<script type='text/javascript'>");
                strJs.Append(@"  $(function () { ");
                strJs.Append(@"      $(""#cbZuTuanShe"").live(""click"", function () {");
                strJs.Append(@"         if ($(""#cbZuTuanShe"").is("":checked"")) {");

                // 散客预订
                if ("1".Equals(dt.Rows[0]["TL0001Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbGuoNeiXianLu"").attr(""checked"", true);");
                    strJs.Append(@"              $(""#cbGuoJiXianLu"").attr(""checked"", true);");
                    strJs.Append(@"              $(""#cbZhouBianXianLu"").attr(""checked"", true);");
                    strJs.Append(@"              $(""#cbZiYouXing"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbGuoNeiXianLu"").attr(""checked"", false);");
                    strJs.Append(@"              $(""#cbGuoJiXianLu"").attr(""checked"", false);");
                    strJs.Append(@"              $(""#cbZhouBianXianLu"").attr(""checked"", false);");
                    strJs.Append(@"              $(""#cbZiYouXing"").attr(""checked"", false);");
                }

                // 散客订单
                if ("1".Equals(dt.Rows[0]["TO0001Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbSanKeDingDan"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbSanKeDingDan"").attr(""checked"", false);");
                }

                // 订单统计
                if ("1".Equals(dt.Rows[0]["TO0002Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbChouKeFenXi"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbChouKeFenXi"").attr(""checked"", false);");
                }

                // 应付款
                if ("1".Equals(dt.Rows[0]["TF0001Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbYingFuKuan"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbYingFuKuan"").attr(""checked"", false);");
                }

                // 积分管理
                if ("1".Equals(dt.Rows[0]["TA0001Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbJiFenGuanLi"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbJiFenGuanLi"").attr(""checked"", false);");
                }

                // 公司管理
                if ("1".Equals(dt.Rows[0]["TA0002Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbGongSiGuanLi"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbGongSiGuanLi"").attr(""checked"", false);");
                }

                // 个人信息
                if ("1".Equals(dt.Rows[0]["TA0003Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbGeRenXinXi"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbGeRenXinXi"").attr(""checked"", false);");
                }

                // 用户管理
                if ("1".Equals(dt.Rows[0]["TA0004Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbYongHuGuanLi"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbYongHuGuanLi"").attr(""checked"", false);");
                }

                // 报价单下载
                if ("1".Equals(dt.Rows[0]["TD0001Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbBaoJiaDanXiaZai"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbBaoJiaDanXiaZai"").attr(""checked"", false);");
                }

                // UTB管理系统
                if ("1".Equals(dt.Rows[0]["TU0001Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbUtbGuanLi"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbUtbGuanLi"").attr(""checked"", false);");
                }

                // UTB使用流程
                if ("1".Equals(dt.Rows[0]["TU0002Flg"].ToString()))
                {
                    strJs.Append(@"              $(""#cbUtbShiYong"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbUtbShiYong"").attr(""checked"", false);");
                }

                // 添加
                if ("1".Equals(dt.Rows[0]["AddFly"].ToString()))
                {
                    strJs.Append(@"              $(""#cbTianJia"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbTianJia"").attr(""checked"", false);");
                }

                // 删除
                if ("1".Equals(dt.Rows[0]["DeleteFly"].ToString()))
                {
                    strJs.Append(@"              $(""#cbShanChu"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbShanChu"").attr(""checked"", false);");
                }

                // 修改
                if ("1".Equals(dt.Rows[0]["ModifyFly"].ToString()))
                {
                    strJs.Append(@"              $(""#cbXiuGai"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbXiuGai"").attr(""checked"", false);");
                }

                // 管理员
                if ("1".Equals(dt.Rows[0]["UserKb"].ToString()))
                {
                    strJs.Append(@"              $(""#cbGuanLiYuan"").attr(""checked"", true);");
                }
                else
                {
                    strJs.Append(@"              $(""#cbGuanLiYuan"").attr(""checked"", false);");
                }

                strJs.Append(@"              $("".cbAAuthority input[type='checkbox']"").attr(""disabled"", true);");
                strJs.Append(@"          } else {");
                strJs.Append(@"              $("".cbAAuthority input[type='checkbox']"").attr(""checked"", false);");
                strJs.Append(@"              $("".cbAAuthority input[type='checkbox']"").attr(""disabled"", false);");
                strJs.Append(@"          }");
                strJs.Append(@"      });");
                strJs.Append(@"  });");
                strJs.Append(@"</script>");

添加JS用的ClientScript.RegisterStartupScript(this.GetType(), "js", this.MakeZuTuanSheJsString()); 不过只有在初始化页面时候才调用,没有在代码return后重新调用

这俩问题谁能帮忙解决下 找不到原因了

问题补充:

问题标签为啥不能修改呢。。。。

15904915314的主页 15904915314 | 菜鸟二级 | 园豆:215
提问于:2015-03-10 11:22
< >
分享
所有回答(2)
0

注意页面生命周期。  像联动这类操作, 最好使用ajax去加载。

问天何必 | 园豆:3311 (老鸟四级) | 2015-03-10 11:34

ajax加载的话前台的所有checkbox也会变成动态的了吧,画面我想要静态的,就是模板联动需要做成动态,就是不太明白为啥JS在画面上绘制的和后台不一致

支持(0) 反对(0) 15904915314 | 园豆:215 (菜鸟二级) | 2015-03-10 12:26
0

朋友帮解决了,问题出在那个JS上选中的时候需要其他不可用,如果不可用在后台就获取不到正确的值,可以在button的点击事件上做处理,提前给所有checkbox可用就好使了。

15904915314 | 园豆:215 (菜鸟二级) | 2015-03-10 12:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册