有一个用户控件,里面包含一个datagrid,又一个模版列里面是按钮,向点击用Server.Transfer转向modify.aspx页面。modify.aspx页面里面也包括一个用户组件,是一个表单,用来修改用。但是出现了一个问题,
private void MyDataGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//选择修改
if(((Button)e.CommandSource).CommandName == "select")
{ Server.Transfer("Admin_Sort_Modify.aspx");
}}modify.aspx页面没有任何代码目前。但是出现错误:为 Admin_Sort_Modify.aspx 执行子请求时出错。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 为 Admin_Sort_Modify.aspx 执行子请求时出错。行 131: Server.Transfer("Admin_Sort_Modify.aspx");
怎么办呀?
private void MyDataGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//选择修改
if(((Button)e.CommandSource).CommandName == "select")
{ Server.Transfer("Admin_Sort_Modify.aspx");
}}modify.aspx页面没有任何代码目前。但是出现错误:为 Admin_Sort_Modify.aspx 执行子请求时出错。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 为 Admin_Sort_Modify.aspx 执行子请求时出错。行 131: Server.Transfer("Admin_Sort_Modify.aspx");
怎么办呀?
.ascx?
里面有没有什么处理?
看看
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
BindGrid();
} void BindGrid()
{
DataGrid1.DataSource = new string[]{"a","b","c","d"};
DataGrid1.DataBind();
} void DataGrid1_Command(Object sender, DataGridCommandEventArgs e)
{
if(((Button)e.CommandSource).CommandName == "select")
{
Server.Transfer("Admin_Sort_Modify.aspx");
}
}</script> <asp:DataGrid id="DataGrid1" runat="server" AutoGenerateColumns="false" OnItemCommand="DataGrid1_Command">
<Columns>
<asp:TemplateColumn HeaderText="button">
<ItemTemplate>
<asp:Button Text="Click Me!" runat="server" CommandName="select" />
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>2. TestGridClick.aspx:<%@ Register TagName="uc" TagPrefix="cc" src="TestGridClick.ascx" %>
<form runat="server">
<cc:uc runat="server" />
<asp:Button runat="server" Text="Refresh" />
</form>3. Admin_Sort_Modify.aspx:
<form runat='server'>
cannot produce your problem
<asp:Button runat="server" Text="click me" />
</form>
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void Button1_Click
(object sender, System.EventArgs e)
{
Server.Transfer("webform2.aspx");
}
4、创建过程来返回TextBox1,TextBox2控件的值代码如下:
public string Name
{
get
{
return TextBox1.Text;
}
}public string EMail
{
get
{
return TextBox2.Text;
}
}
5、新建一个目标页面命名为webform2
6、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load
(object sender, System.EventArgs e)
{
//创建原始窗体的实例
WebForm1 wf1;
//获得实例化的句柄
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.EMail;}
运行,即可看到传递后的结果了。
WEBUI
|-News
|-DataGridTest.ascx
|-TestGridClick.aspx
|-Admin_Sort_Modify.aspx我的目录是这样的WEBUI是虚拟目录