C# gridview按钮没有';asp.net中的t重定向

C# gridview按钮没有';asp.net中的t重定向,c#,asp.net,gridview,C#,Asp.net,Gridview,我在gridview中有一个按钮,我试图将它重定向到一个页面。 下面是我的模板视图代码 <asp:TemplateField ShowHeader="False"> <ItemTemplate> <asp:Button ID="btnView" runat="server" CausesValidation="false" OnClick="btnView_Click" Text="View" Font-

我在gridview中有一个按钮,我试图将它重定向到一个页面。 下面是我的模板视图代码

<asp:TemplateField ShowHeader="False">
              <ItemTemplate>
                 <asp:Button ID="btnView" runat="server" CausesValidation="false" OnClick="btnView_Click" Text="View" Font-Size="Small"></asp:Button>
              </ItemTemplate>
           </asp:TemplateField>

由于某种原因,我的代码无法正常工作,而且按钮无法重定向。我也考虑过其他解决方案,但我认为它们对我不起作用。有人能告诉我我错过了什么吗。谢谢。

代码在我这边工作。尝试在服务器端检查页面加载事件。如果有,那么添加IsPostBack可能会有所帮助。参考这个

Aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="tempform.aspx.cs" Inherits="PivotTest.tempform" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>temp test Page</title>
</head>
<body>
    <form id="random" runat="server">
        <asp:GridView ID="demo" runat="server"
            AutoGenerateColumns="false">
            <Columns>
                <asp:BoundField HeaderText="temp" DataField="Col1" />
                <asp:TemplateField HeaderText="Run">
                    <ItemTemplate>
                        <asp:Button ID="btnView" runat="server" CausesValidation="false" OnClick="btnView_Click" Text="View" Font-Size="Small"></asp:Button>
                    </ItemTemplate>
                    <HeaderStyle Width="88px" />
                </asp:TemplateField>

            </Columns>
        </asp:GridView>
    </form>
</body>
</html>
using Samples.SampleData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace PivotTest
{
    public partial class tempform : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                demo.DataSource = new List<Temp>() {
                    new Temp() { Col1="1"},
                    new Temp() { Col1="1"},
                    new Temp() { Col1="1"},
                    new Temp() { Col1="1"},
                    };

                demo.DataBind();
            }
        }

        protected void btnView_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            GridViewRow row = (GridViewRow)btn.NamingContainer;

            Response.Redirect("Customer.aspx");
        }
    }
}

温度测试页
Aspx.cs页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="tempform.aspx.cs" Inherits="PivotTest.tempform" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>temp test Page</title>
</head>
<body>
    <form id="random" runat="server">
        <asp:GridView ID="demo" runat="server"
            AutoGenerateColumns="false">
            <Columns>
                <asp:BoundField HeaderText="temp" DataField="Col1" />
                <asp:TemplateField HeaderText="Run">
                    <ItemTemplate>
                        <asp:Button ID="btnView" runat="server" CausesValidation="false" OnClick="btnView_Click" Text="View" Font-Size="Small"></asp:Button>
                    </ItemTemplate>
                    <HeaderStyle Width="88px" />
                </asp:TemplateField>

            </Columns>
        </asp:GridView>
    </form>
</body>
</html>
using Samples.SampleData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace PivotTest
{
    public partial class tempform : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                demo.DataSource = new List<Temp>() {
                    new Temp() { Col1="1"},
                    new Temp() { Col1="1"},
                    new Temp() { Col1="1"},
                    new Temp() { Col1="1"},
                    };

                demo.DataBind();
            }
        }

        protected void btnView_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            GridViewRow row = (GridViewRow)btn.NamingContainer;

            Response.Redirect("Customer.aspx");
        }
    }
}
使用Samples.SampleData;
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
命名空间数据透视测试
{
公共部分类tempform:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!Page.IsPostBack)
{
demo.DataSource=新列表(){
新的Temp(){Col1=“1”},
新的Temp(){Col1=“1”},
新的Temp(){Col1=“1”},
新的Temp(){Col1=“1”},
};
demo.DataBind();
}
}
受保护的无效btnView\u单击(对象发送者,事件参数e)
{
按钮btn=(按钮)发送器;
GridViewRow行=(GridViewRow)btn.NamingContainer;
重定向(“Customer.aspx”);
}
}
}

尝试删除以下行:按钮btn=(按钮)发送者;GridViewRow行=(GridViewRow)btn.NamingContainer;如果它起作用,那么它就有问题了them@Abdullah不,不行。该按钮位于gridview中,因此Methodos将不起作用。如果您只需要重定向,请使用以下命令:编辑否,按钮将在您使用
OnClick
事件检查URL时起作用。是否尝试调试此代码?只需在btnView事件上放置一个断点,并在单击查看按钮后检查是否调用了此部分。我认为他在
响应中提供的
URL
存在问题。重定向
,问题代码可以。