将ModalPopupExtender与datalist和collection pager一起使用

时间:2013-12-21 07:24:44

标签: c# asp.net datalist modalpopupextender

我的页面中有一个搜索按钮。单击按钮时,将显示分页的数据列表 结果。我想将modalPopupExtender与Datalist和collection pager一起使用。可能吗 ?这是我尝试的代码,但它不起作用:

<asp:Label ID="Label5" runat="server"></asp:Label>
<asp:ModalPopupExtender ID="Label1_ModalPopupExtender" runat="server" CancelControlID="btThoat"
    DynamicServicePath="" Enabled="True" PopupControlID="Panel1" TargetControlID="Label5">
</asp:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server">
    <div style="margin-left: 20px; padding-top: 50px">
        <asp:Label ID="lbl_CS" runat="server" Text="Ca sĩ" ForeColor="#FF33CC" Font-Size="18"
            Visible="True"></asp:Label>
        <asp:DataList ID="DataList1" runat="server" BackColor="White" BorderColor="#CC9966"
            BorderStyle="None" BorderWidth="1px" CellPadding="4" GridLines="Both" RepeatColumns="4"
            OnItemDataBound="DataList1_ItemDataBound">
            <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
            <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
            <ItemStyle BackColor="White" ForeColor="#330099" />
            <ItemTemplate>
                <table>
                    <tr>
                        <td style="width: 10px">
                            <asp:RadioButton ID="rd_CS" runat="server" GroupName="Casi" Text='<%# Eval("MaCS")%>'
                                AutoPostBack="False"></asp:RadioButton>
                        </td>
                        <td style="width: 75px">
                            <asp:Image ID="Img_Casi" runat="server" ImageUrl='<%#Eval("Hinhanh")%>' Width="75px"
                                Height="75px" BorderColor="#66FF33" />
                        </td>
                        <td style="width: 50px">
                            <asp:Label ID="lbl_Ten" runat="server" Text='<%#Eval("TenCS")%>'></asp:Label>
                        </td>
                        <td style="width: 40px">
                            <asp:Label ID="lbl_Ngaysinh" runat="server" Text='<%#Eval("Ngaysinh")%>'></asp:Label>
                        </td>
                    </tr>
                </table>
            </ItemTemplate>
            <SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
        </asp:DataList>
        <cc2:CollectionPager ID="CollectionPager1" runat="server" MaxPages="1000" PagingMode="QueryString"
            BackNextDisplay="Buttons" QueryStringKey="Datalist1">
        </cc2:CollectionPager>
    </div>
</asp:Panel>

c#中的代码:

bool Checkcs()
    {
        string cs = "select MaCS, Quocgia, TenCS, Hinhanh, Thongtin, cast(convert(char(11), Ngaysinh, 113) as char) as Ngaysinh from casi where tencs like N'%" + txt_CS.Text + "%'";
        da = new SqlDataAdapter(cs, cnn);
        dtSP = new DataTable();
        cnn.Open();
        da.Fill(dtSP);
        cnn.Close();
        CollectionPager1.PageSize = 8;
        CollectionPager1.DataSource = dtSP.DefaultView;
        CollectionPager1.BindToControl = DataList1;
        DataList1.DataSource = CollectionPager1.DataSourcePaged;
        DataList1.DataBind();
        Label1_ModalPopupExtender.Show();
        if (dtSP.Rows.Count != 0)
            return true;
        else
            return false;
    }

protected void img_CheckCS_Click(object sender, ImageClickEventArgs e)
    {
        Checkcs();
    }

如果不可能的话。还有另一种方法吗?如果它是可能的。你能告诉我一个示例代码吗?任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

这是Sample。请参考此

    .modalBackground {         背景颜色:灰色;         filter:alpha(opacity = 80);         不透明度:0.8;         z-index:10000;     }

.modalPopupCss {
    background-color: white;
    border-width: 1px;
    border-style: solid;
    border-color: #0066B3;
    padding: 3px;
}

<强> ASPX

 <div>
            <asp:ModalPopupExtender BackgroundCssClass="modalBackground" ID="Label1_ModalPopupExtender" CancelControlID="Button2" runat="server" Enabled="True" PopupControlID="Panel1" TargetControlID="lbl_CS"></asp:ModalPopupExtender>
            <asp:Panel ID="Panel1" CssClass="modalPopupCss" runat="server">
                <div style="margin-left: 20px; padding-top: 50px">
                    <asp:Label ID="lbl_CS" runat="server" Text="" ForeColor="#FF33CC" Font-Size="18" Visible="True"></asp:Label>
                    <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
                    </asp:ToolkitScriptManager>
                    <asp:GridView ID="GridView1" runat="server"></asp:GridView>
                    <asp:Button ID="Button2" runat="server" Text="Close" />
                </div>
            </asp:Panel>

            <asp:Button ID="Button1" runat="server" Text="Search" OnClick="Button1_Click" />

<强> Aspx.Cs

DataTable dt = new DataTable();
    protected void Page_Load(object sender, EventArgs e)
    {
       dt.Columns.Add("ID");
        dt.Columns.Add("Name");
        dt.Columns.Add("State");
     }
    protected void Button1_Click(object sender, EventArgs e)
    {
        dt.Rows.Add("1", "Vignesh", "True");
        GridView1.DataSource = dt;
        GridView1.DataBind();
        Label1_ModalPopupExtender.Show();

    }