Click here to Skip to main content
15,895,084 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
I'm going to create a form login as popup window from gridview_RowCommand. 

This is my gridview html.


ASP.NET
<%--Table Grid View--%>
        <table class="TableContent" style="width:100%">
            <tr>
                <td valign="top">
                   <asp:gridView id="gvSenaraiP"  CssClass="gridViewTable" autogeneratecolumns="False" allowpaging="True"  Width="100%"  EmptyDataText="Tiada Rekod"
                       OnRowCommand="gvSenaraiP_RowCommand" runat="server" PageSize="20">
                        <FooterStyle CssClass="gridViewFooter" />
                        <HeaderStyle CssClass="gridViewHeader" />
                        <AlternatingRowStyle CssClass="gridViewAlternating" />

                        <Columns> 
                            <asp:BoundField DataField="ROWNUMBER" HeaderText="No." SortExpression="No." HeaderStyle-Width="2%" ></asp:BoundField>
                            <asp:TemplateField HeaderText="Nama Pelajar">
                                <ItemTemplate>
                                    <asp:LinkButton ID="popup" DataTextField="SMP01_Nama" OnClick="popup_Click" runat="server" HeaderStyle-Width="15%" ></asp:LinkButton>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:BoundField DataField="SMP01_NoMatrik" HeaderText="No. Matrik" SortExpression="No. Matrik" HeaderStyle-Width="15%"></asp:BoundField>
                            <asp:BoundField DataField="SKP01_TKhKaunseling" HeaderText="Tarikh" DataFormatString="{0:dd/MM/yyyy}" SortExpression="Tarikh" HeaderStyle-Width="15%"></asp:BoundField>
                        
                        <asp:BoundField DataField="SKP01_KaunselingID" HeaderText="Hidden">
                                <ItemStyle CssClass="hidden" VerticalAlign="Top" />
                                <HeaderStyle CssClass="hidden" />
                                <FooterStyle CssClass="hidden" />
                            </asp:BoundField> 
                        </Columns>

                        <FooterStyle CssClass="gridViewFooter" />
                        <HeaderStyle ForeColor="White" CssClass="gridViewHeader" />
                        <PagerSettings FirstPageText="<<" LastPageText=">>" Mode="NextPreviousFirstLast" NextPageText=">" PreviousPageText="<" />
                    </asp:gridView>

                    <AjaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" 
                                 runat="server"
                                TargetControlID="Button1"
                                PopupControlID="Panel1"
                                PopupDragHandleControlId="PopupHeader"
                                BackgroundCssClass="ModalPopupBG"
                                OkControlID="btnSend"
                                CancelControlId="btncancel"
                                Drag="true">
                    </AjaxToolkit:ModalPopupExtender>
                </td>
            </tr>
        </table>


Can you please help me, because I just copy and paste from this link 

'http://codeverge.com/asp.net.web-forms/popup-form-gridview-button/410306'
Posted
Updated 8-Oct-14 21:37pm
v9

 
Share this answer
 
Comments
U_Hanisa 29-Sep-14 3:01am    
It still the same. It display the same error.
U_Hanisa 29-Sep-14 3:05am    
one more thing,i'm using vb,not c#
U_Hanisa 29-Sep-14 21:26pm    
Thank you very much, it works!! :)
U_Hanisa 8-Oct-14 0:01am    
Can you teach me how to do popup login without using Ajax Control Tollkit
XML
To solve this problem you need to change ScriptManager tag to ToolkitScriptManager just like below.

<asp:ScriptManager ID="scriptmanager" runat="server"></asp:ScriptManager>
To

<asp:ToolkitScriptManager ID="scriptmanager1" runat="server"> </asp:ToolkitScriptManager>
Here if you observe above code for ToolkitScriptManager I declared asp:ToolkitScriptManager  here asp is a TagPrefix of AjaxControlToolkit reference

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
If you change the TagPrefix name you need to change your asp:ToolkitScriptManager to TagPrefixname:ToolkitScriptManager
 
Share this answer
 
Comments
U_Hanisa 29-Sep-14 21:03pm    
This is the error when I run 'Could not load file or assembly 'AjaxMin, Version=4.97.4951.28478, Culture=neutral, PublicKeyToken=21ef50ce11b5d80f' or one of its dependencies. The system cannot find the file specified. '
try this

CSS
<style type="text/css">
.black_overlay{
display:none;
position: absolute;
top: 0%;
left: 0%;
width: 100%;
height: 100%;
background-color:black;
z-index:1001;
-moz-opacity: 0.8;
opacity:.80;
filter: alpha(opacity=80);
}
.white_content {
display:none;
position: absolute;
top: 25%;
left: 35%;
width: 35%;
padding: 0px;
border: 0px solid #a6c25c;
background-color: white;
z-index:1002;
overflow: auto;
}
.headertext{
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
color:#f19a19;
font-weight:bold;
}
.textfield
{
border:1px solid #a6c25c;
width:135px;
}
.button2
{
 background-color:#a6c25c;
 color:White;
 font-size:11px;
 font-weight:bold;
 border:1px solid #7f9db9;
 width:68px;
}
</style>




XML
<div>
    <a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">Click Here</a>
<div id="light" class="white_content">
 <table cellpadding=0 cellspacing=0 border=0 style="background-color:Blue;" width="100%"><tr><td height="16px"><a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'"><img src="close.gif" style="border :0px"  width="13px" align="right" height="13px"/></a></td></tr>
<tr><td style="padding-left:16px;padding-right:16px;padding-bottom:16px">
<table align="center"  border="0" cellpadding="0" cellspacing="0" style="background-color:#fff" width="100%">
<tr>
<td align="center" colspan="2" class="headertext" >Login Form </td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr><td align="center">
<table><tr>
<td align="right">Username:</td><td><asp:TextBox ID="txtUser" runat="server" CssClass="textfield"></asp:TextBox>
</td>
</tr>
<tr><td height="10px"></td></tr>
<tr>
<td align="right">Password:</td>
<td><asp:TextBox ID="txtPwd" runat="server" CssClass="textfield"></asp:TextBox></td>
</tr>
<tr><td height="10px"></td></tr>
<tr>
<td> </td><td><asp:Button ID="Button1" runat="server" Text="Sign In" class="button2"/>
<asp:Button ID="Button2" runat="server" Text="Sign Up" class="button2" /></td>
</tr></table></td></tr>
<tr><td height="10px"></td></tr>
</table>
</td></tr>
</table>
<div align="center" class=" headertext">
<asp:Label ID="txtlbl" runat="server"  ></asp:Label></div>
</div>
<div id="fade" class="black_overlay"></div>
    </div>


and add template field in gridview

XML
<asp:TemplateField HeaderText="login" >
          <ItemTemplate>

                 <a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">Click Here</a>



          </ItemTemplate>


       <HeaderStyle   ForeColor="White"  CssClass="gridviewcourseheader"  />
      </asp:TemplateField>
 
Share this answer
 
Comments
U_Hanisa 9-Oct-14 3:36am    
Yes, you maybe right. But the problem here, I want to call the login popup after I click buttonfield. I try to use ajaxToolkit but it still doesn't help at all. Please check my updated gridview asp
firstly you have to learn how to work with model popup control

i am giving you demo source code how to popup login window on gridview row command

step 1-Create Database

SQL
GO

/****** Object:  Table [dbo].[tbl_Admin]    Script Date: 10/10/2014 20:30:52 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[tbl_Admin](
    [AdminId] [int] IDENTITY(1,1) NOT NULL,
    [UserName] [nvarchar](50) NULL,
    [Password] [nvarchar](50) NULL,
 CONSTRAINT [PK_tbl_Admin] PRIMARY KEY CLUSTERED
(
    [AdminId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO






Step-2 make connection to database using webconfig file

XML
<connectionStrings>
    <add name="ErpConnection" connectionString="Data Source=MANVENDRA;Initial Catalog=SHK;integrated security=true" providerName="System.Data.SqlClient" />

  </connectionStrings>




Step3-

copy and paste the code

XML
<div>
   <style type="text/css">
        .WhiteBG
        {
            background-color: White;
        }
        .modalpopup
        {
            background-color: #ADADAD;
            filter: Alpha(Opacity=70);
            opacity: 0.70;
            -moz-opacity: 0.70;
        }
    </style>
        <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
        </asp:ToolkitScriptManager>

     <asp:GridView ID="gvDemo" runat="server" OnRowCommand="GriRowDataBound" DataKeyNames="UserName"
            AutoGenerateColumns="false" Width="607px">
            <Columns>
                <asp:BoundField DataField="UserName" HeaderText="Name" />
                <asp:TemplateField HeaderText="">
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkDownload" runat="server" Text="Open" CommandName="Select"
                            CommandArgument='<%# Eval("UserName") %>'></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
        <asp:Panel ID="pnlModalDemo" runat="server" CssClass="WhiteBG" >
           <tr><td align="center">
<table><tr>
<td align="right">Username:</td><td><asp:TextBox ID="txtUser" runat="server" CssClass="textfield"></asp:TextBox>
</td>
</tr>
<tr><td height="10px"></td></tr>
<tr>
<td align="right">Password:</td>
<td><asp:TextBox ID="txtPwd" runat="server" CssClass="textfield"></asp:TextBox></td>
</tr>
<tr><td height="10px"></td></tr>
<tr>
<td> </td><td><asp:Button ID="Button1" runat="server" Text="Sign In" class="button2"/>
<asp:Button ID="Button2" runat="server" Text="Sign Up" class="button2" /></td>
</tr></table></td></tr>
<tr><td height="10px"></td></tr>
</table>
</td></tr>
</table>
            <asp:Button ID="btnCancel" Text="Cancel" runat="server" />
        </asp:Panel>
         <asp:LinkButton ID="lnkFake" runat="server"></asp:LinkButton>
       <asp:ModalPopupExtender ID="mpModalDemo" runat="server" PopupControlID="pnlModalDemo"
            TargetControlID="lnkFake" BackgroundCssClass="modalpopup" BehaviorID="mpModalDemo"
            CancelControlID="btnCancel">
       </asp:ModalPopupExtender>

   </div>



Note-please drag and drop once ajax tolkit control to genarte Ajax bin file

to create code like this on top of the page-
]]>

Step-4 write c# code to bind Gridview

C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string strConnString = ConfigurationManager.ConnectionStrings["ErpConnection"].ConnectionString;
        using (SqlConnection con = new SqlConnection(strConnString))
        {
            using (SqlCommand cmd = new SqlCommand())
            {
                cmd.CommandText = "select top 10 * from tbl_Admin";
                cmd.Connection = con;
                con.Open();
                gvDemo.DataSource = cmd.ExecuteReader();
                gvDemo.DataBind();
                con.Close();
            }
        }
    }
    protected void GriRowDataBound(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Select")
        {
            mpModalDemo.Show();
        }
    }
}


may be it helpfull for you
 
Share this answer
 
Comments
U_Hanisa 12-Oct-14 21:10pm    
Excuse me, I'm using VB.Net. When I type mpModalDemo.Show(), it getting error. Then, when I run, I have error 'The data source does not support server-side data paging.' at 'gvDemo.DataSource = cmd.ExecuteReader();
gvDemo.DataBind();' even I changed the gv's name

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900