这个是前台的绑定
 <asp:Repeater ID="Repeater1" runat="server"  OnItemDataBound="Repeater1_ItemDataBound" >
       <HeaderTemplate>
        <table border="0" class="style1" cellpadding="0" cellspacing="0">
        <tr  style="color:Black;background-color:#ECECEC;font-weight:bold;">
            <td width="10%">WP No& WPName</td>
            <td width="3%"></td>
            <td width="12%">Vendor No</td>
            <td width="15%">Company Name</td>
            <td width="10%">Tel</td>
            <td width="5%">Contact</td>
            <td width="7%">Type</td>
            <td width="10%">Evaluation</td>
            <td width="15%">Vendor Source</td>
            <td width="8%">Warning</td>
            <td width="10%" id="td1" runat="server">Operate</td>
        </tr>
        </table>
        </HeaderTemplate>
        <ItemTemplate>
             <table border="0" class="style1">
                <tr  style="color:Black;background-color:#ECECEC;">
                <td colspan="12">
                <%#Eval("PackageNumber")%> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<%#Eval("Description")%>
                <asp:HiddenField ID="hf_workpackageID" runat="server" Value='<%#Eval("WorkPackageID") %>' />
                 </td>
                </tr>
             </table>
            <asp:Repeater ID="Repeater2" runat="server" OnItemDataBound="Repeater2_ItemDataBound">
            <ItemTemplate>
            <table id="tabtest" class="style1">
            <tr>
            <td width="10%">&nbsp;</td>
            <td width="3%"><asp:CheckBox ID="chk" runat="server" /><asp:HiddenField ID="hf_ID" runat="server" Value='<%#Eval("SRMVendorID") %>'/></td>
            <td width="12%"><%#Eval("VendorNumber")%></td>
            <td width="15%"><%#Eval("CompanyName")%></td>
            <td width="10%"><%#Eval("BusinessPhoneNumber")%></td>
            <td width="5%"><%#Eval("FirstName")%></td>
            <td width="7%"><%#Eval("CompanyType")%></td>
                        <td width="10%"><a href="../Demo/VendorEvaluationSummary.aspx" target="_blank"><%#Eval("EvaluationScore")%></a></td>
            <td width="15%"><%#Eval("AddedBy")%></td>
            <td width="8%"><%#GetWarningList(Eval("SRMWarningListID").ToString())%></td>
            <td width="10%">
            <asp:HyperLink ID="lbtnDetails" runat="server" Target="_blank">Detail</asp:HyperLink></td>
            </tr>
        </table>
        </ItemTemplate>
       </asp:Repeater>
        </ItemTemplate>
        </asp:Repeater>
后台cs代码
protected void Page_Load(object sender, EventArgs e)
        {
            HiddenField1.Value = Request["Task"] == null ? "" : Request["Task"].ToString();
            if (!IsPostBack)
            {
                if (HiddenField1.Value.Equals("DraftVendorList"))
                {
                    initGrid();
                }   
            } 
        } protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                Repeater rep = (Repeater)e.Item.FindControl("Repeater2");
                HiddenField hf = (HiddenField)e.Item.FindControl("hf_workpackageID");
                if (HiddenField1.Value.Equals("DraftVendorList"))
                {
                    DataTable tb = bll.GetGridVendorIn(hf.Value);
                    rep.DataSource = tb;
                    rep.DataBind();
                }
                
            }
            
        }现在的问题从另外一个页面传来了一个ID给repeater2里面增加一行数据,这行数据暂时不保存到数据库中,因为repeatger1好像一旦重新绑定的话,传过来的这行数据就会丢掉,请问各位我该如何实现啊

解决方案 »

  1.   


    这个页面有一个按钮可以打开另一个页面,在打开的页面里面选择信息,关闭的时候会传给第一个页面
    function SelectVendor() {
            var txt = OpenModalDialog('PreQual/SelectedVendor.aspx', '800px', '480px');
            document.getElementById("<%=hf_vendorID.ClientID %>").value = txt[0];
            document.getElementById("<%=HiddenField2.ClientID %>").value = txt[1];
            document.getElementById("<%=btnHidden_BianHao.ClientID%>").click();
        } 这个是第二个页面里面的关闭之前调用的JS
            function getAllRowValue(grdId, chkIdPart) {
                var tbl = document.getElementById('<%=gridworkpage.ClientID %>');
                var chkList;
                var txt = new Array(2);
                txt[0] = "";
                txt[1] = "";
                for (var i = 0; i < tbl.rows.length; i++) {
                    chkList = tbl.rows[i].getElementsByTagName("input");
                    for (var j = 0; j < chkList.length; j++) {                    if (chkList[j].type == "checkbox" && chkList[j].checked) {
                            txt[0]+=getRowValue(chkList[j])+",";
                            break;
                        }
                    }
                }
                txt[1]=document.getElementById('<%=hf_VendorID .ClientID%>').value;
                window.returnValue = txt;
                window.close();
            }
      

  2.   

    那就在绑定一次CommandArgument='<%#Container.ItemIndex %>'