有一个用户控件,里面包含一个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");
怎么办呀?

解决方案 »

  1.   

    用户组件?
    .ascx?
    里面有没有什么处理?
      

  2.   

    对啊!我把modify.aspx里面的ascx文件也给删了,还是出这样的错误
      

  3.   

    你能直接访问Admin_Sort_Modify.aspx么?
      

  4.   

    哇,思归老大~~~可以直接访问Admin_Sort_Modify.aspx 的。试过,没问题。
      

  5.   

    把你的文件名字改为AdminSortModify.aspx执行Server.Transfer("AdminSortModify.aspx");
    看看
      

  6.   

    Server.Transfer("Admin_Sort_Modify.aspx",true);
      

  7.   

    try Response.Redirect("Admin_Sort_Modify.aspx")
      

  8.   

    cannot reproduce your problem1. TestGridClick.ascx:<%@ Control Language="C#" %>
    <%@ 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>
      

  9.   

    EnableViewStateMac = "False"
      

  10.   

    思归老大的我放到根目录下就一点问题都没有。可是放到News文件加下面(包括aspx文件和ascx文件)就出现我的那个问题
      

  11.   

    Server.Transfer("/News/Admin_Sort_Modify.aspx");相对路径不对
      

  12.   

    1、创建一个web 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;}
    运行,即可看到传递后的结果了。
      

  13.   

    我的目录是iis的一个虚拟目录,我设置成孟子那样,也不对,还是那个问题。
    WEBUI
    |-News
      |-DataGridTest.ascx
      |-TestGridClick.aspx
      |-Admin_Sort_Modify.aspx我的目录是这样的WEBUI是虚拟目录
      

  14.   

    .......谢谢各位了。我找到错误了,tmd是我自己把名字写错了应该是Admin_News_Modify.aspx写成了Admin_Sort_Modify.aspx我已经佩服死我自己了......
      

  15.   

    Response.BufferOutput = true; System.Web.HttpContext.Current.Server.Transfer("logout.aspx");