2013-12-21 4 views
0

У меня есть кнопка поиска на моей странице. Когда я нажимаю кнопку, вызывается постраничный datalist с результатом. Я хочу использовать modalPopupExtender с Datalist и коллекционным пейджером. Является ли это возможным ? Вот код, я пытался, но он не работает:Используйте ModalPopupExtender с datalist и пейджером сбора

<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(); 
    } 

Если это невозможно. Есть ли другой способ сделать это? Если это возможно. Можете ли вы показать мне пример кода? Любая помощь будет большой.

+0

Nothings Impossible здесь в программировании. Возможно, у нас есть обходные пути и пути. Даже большинство вещей уже сделано где-то в другом месте, вам просто нужно поразить его. –

+0

Да, это возможно. Какую проблему вы столкнулись в этом –

+0

@VigneshKumar Я пробовал код выше, но ничего не показывал. Было бы здорово, если бы вы показали мне пример кода. –

ответ

0

Это образец. Пожалуйста, обратитесь к этому

.modalНазад почтовый адрес { цвет фона: серый; фильтр: альфа (непрозрачность = 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(); 

    } 
+0

это сработало, но когда я щелкнул следующую страницу в пейджере коллекции. modalpopupextender исчезает. Можете ли вы добавить коллекцию пейджера в код примера? –

+0

когда перезагрузка страницы, модальное всплывающее окно исчезнет. поэтому вам нужно использовать метод modelpopup.Show() –

+0

Могу ли я перезагрузить только панель? –

Смежные вопросы