在点击产品类别名称时显示该类别下的所有产品列表,在所有产品列表里有一个添加按钮,当点击添加按钮时弹出层(用jQuery做了一个弹出层),问题:在这个弹出层中如何获取该产品类别ID啊?小弟急啊!请各位帮忙解决解决!!

解决方案 »

  1.   

    在弹出层里面放一个hidden field,然后等你点button的时候,将id的值保存到hidden里面去,弹出层里面可以用js直接读取
      

  2.   

    你说的事件委托,具体是指什么?我没明白你的意思,后台code还是前台js code?
      

  3.   

    用比较笨一点的方法你把弹出层里面的内容独立做个iframe单击按钮弹出的时候 链接上给这个iframe传值  比如<iframe src="aaa.aspx?id=1"></iframe>
      

  4.   

    <script language="javascript" src="../jquery-1.3.2.min.js"></script>    <script language="javascript" src="../js/dialog.js"></script>    <script language="javascript">
            function showDialog()
            {
                dialog("添加产品信息","","500px","auto");
            }
        </script></head>
    <body>
        <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <div class="main">
                <h2>
                    产品信息管理</h2>
                <div id="maincontent">
                    <asp:UpdatePanel ID="UpdatePanel_ProductSort" runat="server" UpdateMode="Conditional">
                        <ContentTemplate>
                            <fieldset class="sortlist">
                                <legend>产品类别列表</legend>
                                <div style="padding: 3px 5px 3px 0;">
                                    <asp:DataList ID="DataList_SortName" runat="server" RepeatColumns="6" RepeatDirection="Horizontal"
                                        CellSpacing="5">
                                        <ItemTemplate>
                                            <asp:HiddenField ID="hiddID" runat="server" Value='<%#Eval("SortID") %>' />
                                            <asp:LinkButton ID="lnkbtSortName" runat="server" Text='<%#Eval("SortName") %>' ToolTip="点击进入产品管理"
                                                OnClick="lnkbtSortName_Click" CommandArgument='<%#Eval("SortID") %>' />
                                        </ItemTemplate>
                                    </asp:DataList>
                                </div>
                            </fieldset>
                            <asp:Panel ID="Panel_ProductList" runat="server" Visible="false">
                                <fieldset class="addoredit">
                                    <legend>
                                        <asp:Label ID="lblTitle" runat="server" />
                                        <asp:LinkButton ID="lnkbtaddOredit" runat="server" OnClientClick="showDialog();" />
                                    </legend>
                                    <div style="text-align: center;">
                                        <asp:GridView ID="GvProductList" runat="server" AutoGenerateColumns="false" EmptyDataText="没有添加任何产品,请添加!">
                                            <Columns>
                                                <asp:TemplateField HeaderText="产品标识">
                                                    <ItemTemplate>
                                                        <asp:Label ID="lblPid" runat="server" Text='<%#Eval("Pid") %>' />
                                                    </ItemTemplate>
                                                </asp:TemplateField>
                                            </Columns>
                                        </asp:GridView>
                                    </div>
                                </fieldset>
                            </asp:Panel>
                        </ContentTemplate>
                    </asp:UpdatePanel>
                </div>
                <div id="floatBoxBg">
                </div>
                <div id="floatBox" class="floatBox">
                    <div class="title">
                        <h4>
                        </h4>
                        <span title="关闭">X</span></div>
                    <div class="content">
                        产品名称:<input id="txtProductName" type="text" />
                        产品类型:<asp:Label ID="lblname" runat="server" />
                        <asp:HiddenField ID="hiddSortID" runat="server" />
                        <div style="text-align: right;">
                            <input id="btsure" type="button" class="btsure" />
                            <input id="btcancel" type="button" class="btcancel" />
                        </div>
                    </div>
                </div>
            </div>
        </form>
    </body>
    </html>
      

  5.   

    Panel_ProductList在页面打开时是隐藏的,我在点击产品类别名称的时候这个面板显示,在这个面板中有一个添加按钮,点击它弹出一个层,弹出层如何获取点击的产品类别ID?
      

  6.   

    不用iframe怎么做啊?
    我试了两种方法都不行
      

  7.   

    OnClientClick='showDialog(<%#Eval("SortName") %>)' function showDialog(aa)
            {
                alert(aa);
            }
     
      

  8.   

    <input id="typeid" type="hide" name="typeid"/>
    OnClientClick='showDialog(<%#Eval("SortID") %>)'
    function showDialog(aa) 
            { 
                alert(aa); 
                document.getElementById("typeid").value=aa;
            } 
      

  9.   

    弹出层属于客户端的操作,弹出层要获取类ID肯定是要用JS来获取的。
    页面上添加一个hidden field,为“添加”按钮增加客户端的点击事件,完成将类别ID存到hidden field的功能,在层里直接用js获取hidden field的值就可以了。