Click here to Skip to main content
15,891,019 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
C#
protected void grd1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
 string Eve1 = ViewState["SecondStatus"].ToString();
if (Eve1 == "Completeddays")
{
  lnkCompleted1_Click(this, new EventArgs());
}
}



protected void lnkCompleted1_Click(object sender, EventArgs e)
{
        strStatus = "Completedays";
        grd1.Visible = true;
        User1 = ((LinkButton)sender).CommandArgument; // here i am getting error as Unable to cast object of type 'ASP.home_aspx' to type 'System.Web.UI.WebControls.LinkButton'.
        DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);
}



To be more clear i have two grids one grid just displays the count of tasks and username for example and on clicking that number 
i will get second grid with paging as it has so many records and on clicking paging i need to go to the event lnkCompleted1_Click
by passing username of that particular user whom we are viewing in second grid suppose if we click radha when i click on paging of
second grid i should pass that user radha to lnkCompleted1_Click event

<pre lang="text">User                   Completed batches
nandini                                         23
geetha                                           2
radha                                            4


What I have tried:

i am getting exception as
Unable to cast object of type 'ASP.home_aspx' to type 'System.Web.UI.WebControls.LinkButton'. in tis event lnkCompleted1_Click
Posted
Updated 31-Jan-18 22:55pm
v2
Comments
Karthik_Mahalingam 1-Feb-18 1:29am    
lnkCompleted1_Click(this, new EventArgs());
the above line doesnt make sense
"this" object will contain the instance of the current page.
how the event will know which row has clicked?
Karthik_Mahalingam 1-Feb-18 1:58am    
in pagination which link you want to click?
how many rows does the grid contains in each page ?
Karthik_Mahalingam 1-Feb-18 3:55am    
which DN you want to pass as CommandArgument
Karthik_Mahalingam 1-Feb-18 4:20am    
so on pagination click, you need to pass the last row's id to the lnkCompleted1_Click event ?
correct?
or some other logic?

you will be clicking the page button or the link button in the grid? be more specific

1 solution

try this

protected void lnkCompleted1_Click(object sender, EventArgs e)
       {
           string  User1 = ((LinkButton)sender).CommandArgument;
           ViewState["User1"] = User1;
           MyFunction();
       }

       protected void MyFunction() {
           strStatus = "Completedays";
           grd1.Visible = true;
           string User1 = ViewState["User1"]+"";
           DataTable dt = adm.getProjectsbyStatusbyUser(strStatus, txtDate2.Text, User1);

       }

       protected void grd1_PageIndexChanging(object sender, GridViewPageEventArgs e)
       {
           string Eve1 = ViewState["SecondStatus"].ToString();
           if (Eve1 == "Completeddays")
           {
               MyFunction();
           }
       }
 
Share this answer
 
Comments
kav@94 1-Feb-18 5:00am    
but i am getting error here itself know
protected void lnkCompleted1_Click(object sender, EventArgs e)
{
string User1 = ((LinkButton)sender).CommandArgument;
}
Karthik_Mahalingam 1-Feb-18 5:10am    
post the markup of gridview
kav@94 1-Feb-18 5:19am    
my mark ups of gridview
mark up of first griview
<asp:GridView ID="grd1" AutoGenerateColumns="false" HeaderStyle-BackColor="#708090" CssClass="EU_DataTable" PagerStyle-ForeColor="Black" HeaderStyle-ForeColor="White" runat="server" AllowPaging="true" EmptyDataText="No Records Available" Width="100%">
<columns>
<asp:BoundField HeaderText="User" DataField="DN" />
<asp:TemplateField HeaderText="New Batches">
<itemtemplate>
<asp:LinkButton ID="lnkNewBatches" OnClick="lnkNewBatches_Click" CommandName="Select" CommandArgument='<%# Eval("DN") %>' runat="server">/asp:LinkButton>


<asp:TemplateField HeaderText="Running batches"> <%-- modified working to in-progress--%>
<itemtemplate>
<asp:LinkButton ID="lnkRunningbatches" OnClick="lnkRunningbatches_Click" CommandName="Select" CommandArgument='<%# Eval("DN") %>' runat="server">


<asp:TemplateField HeaderText="CompletedBatches">
<itemtemplate>
<asp:LinkButton ID="lnkCompletedBatches" OnClick="lnkCompletedBatches_Click" CommandName="Select" CommandArgument='<%# Eval("DN") %>' runat="server">



<RowStyle ForeColor="#000066" HorizontalAlign="Center" />


mark up of second gridview

<asp:GridView ID="grd2" runat="server" ShowFooter="true" CssClass="EU_DataTable" AutoGenerateColumns="false" EmptyDataText="No Records Available"
OnPageIndexChanging="grdIndivuidualTask_PageIndexChanging" HeaderStyle-BackColor="#708090" PagerStyle-ForeColor="Black" HeaderStyle-ForeColor="White" AllowPaging="true" PageSize="2" Width="100%">
<columns>
<asp:BoundField HeaderText="Name" DataField="Name" />
<asp:BoundField HeaderText="Course" DataField="Course" />
<asp:BoundField HeaderText="Assigned To" DataField="Dn" />
<asp:BoundField HeaderText="Status" DataField="WorkStatus" />

<RowStyle ForeColor="#000066" HorizontalAlign="Center" />
Karthik_Mahalingam 1-Feb-18 5:24am    
there is no lnkCompleted1_Click event in the grid
kav@94 1-Feb-18 5:26am    
lnkCompletedBatches_Click is nothing but lnkCompleted1_Click both are same

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