204.sharma Ответов: 1

Кнопка ссылки на главную страницу не работает должным образом


Привет,
Моя проблема в том, что у меня есть кнопка ссылки(lnk_logout) на главной странице.На странице содержимого у меня есть еще одна кнопка ссылки (LinkButton1)в поле шаблона gridview. Теперь я хочу открыть новое окно на linkbutton1 click. Я использую Javascript, и он работает нормально. Но после этого, когда я нажимаю на кнопку lnk_logout(master page link button), она также открывает новое окно. ниже приведен мой исходный код и cs-код.

Заранее спасибо.

Что я уже пробовал:

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

204.sharma

Решенный...

1 Ответов

Рейтинг:
1

Saineshwar Bageri

Попробуйте Comment Updatepanel и проверьте, ясно ли он показывает ошибку, а также посмотрите в консоли браузера ошибки сценариев.