Click here to Skip to main content
15,886,724 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi,
My problem is, I have a link button(lnk_logout) on master page.In content page i have another link button (LinkButton1) in gridview template field. Now I want to open a new window on linkbutton1 click. I am using Javascript and its working fine. But after that when i click on lnk_logout(master page link button) it also open new window. below is my source and cs code.

Thanks in advance.

What I have tried:

Hi All,
 My problem is, I have a link button(lnk_logout) on master page.In content page i have another link button (LinkButton1) in gridview template field. Now I want to open a new window on linkbutton1 click. I am using Javascript and its working fine. But after that when i click on lnk_logout(master page link button) it also open new window. below is my source and cs code.

Source code of master page:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="openNewWindow.Site" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <div style="background-color: red; width: 100%; height: 100px;">
                <h2>Testing</h2>
                <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Logout</asp:LinkButton>  
            </div>
            <div>
            </div>
            <div>
                <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                </asp:ContentPlaceHolder>
            </div>
        </div>
    </form>
</body>

cs code of master page

protected void LinkButton1_Click(object sender, EventArgs e)
        {
            Session.Abandon();
            Session.RemoveAll();
            Response.Redirect("logout.aspx");
        }

Source Code of Content Page

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="openNewWindow.index" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <script type="text/javascript">
        function SetTarget() {
            document.forms[0].target = "_blank";
        }
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="btn_fillgrid" runat="server" Text="Fill Grid" OnClick="btn_fillgrid_Click" />
            <br />
            <br />
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">
                <Columns>
                    <asp:TemplateField HeaderText="Title">
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("title") %>' OnClientClick="SetTarget();" OnClick="LinkButton1_Click"></asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Image">
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Eval("image") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
        </ContentTemplate>
        <Triggers>
            <asp:PostBackTrigger ControlID="btn_fillgrid" />
        </Triggers>
    </asp:UpdatePanel>
    <br />
    </asp:Content>

CS Code of Content Page

protected void LinkButton1_Click(object sender, EventArgs e)
        {
            try
            {
                LinkButton btnSelect = (LinkButton)sender;
                GridViewRow Grow = (GridViewRow)btnSelect.NamingContainer;
                Label lblDocumentName = (Label)Grow.FindControl("Label1");

                Response.Redirect("home.aspx?image=" + lblDocumentName.Text);
            }
            catch(Exception ex)
            { Response.Write(ex.Message.ToString()); }
        }


        private void FillGrid()
        {
            try
            {
                DataRow dr;
                DataTable dt = new DataTable();
                dt.Columns.Add("title");
                dt.Columns.Add("image");

                dr = dt.NewRow();
                dr["title"] = "Page1";
                dr["image"] = "Page1";
                dt.Rows.Add(dr);

                dr = dt.NewRow();
                dr["title"] = "Page2";
                dr["image"] = "Page2";
                dt.Rows.Add(dr);

                GridView1.DataSource = dt;
                GridView1.DataBind();

                GridView2.DataSource = dt;
                GridView2.DataBind();
            }
            catch(Exception ex)
            {
                Response.Write(ex.Message.ToString());
            }
        }

        protected void btn_fillgrid_Click(object sender, EventArgs e)
        {
            FillGrid();
        }

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            try
            {
                if(e.Row.RowType == DataControlRowType.DataRow )
                {
                    Control lnkButton = e.Row.FindControl("LinkButton1");
                    ScriptManager mgr = ScriptManager.GetCurrent(this.Page);
                    mgr.RegisterPostBackControl(lnkButton);
                }
            }
            catch(Exception ex)
            { Response.Write(ex.Message.ToString()); }
        }
Posted
Updated 26-Jan-17 18:41pm
Comments
204.sharma 24-Jan-17 6:00am    
Solved...

1 solution

Try Comment Updatepanel and check if it shows error clearly , and also have look in browser console for scripts errors.
 
Share this answer
 

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