C# gridview按钮没有';asp.net中的t重定向
我在gridview中有一个按钮,我试图将它重定向到一个页面。 下面是我的模板视图代码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-
<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
存在问题。重定向
,问题代码可以。