asp.net – 带有查询字符串的server.Transfer

我是初学者用C#作为编程语言学习ASP.NET.

目前我正在使用HTTPSERVERUTILITY.

我创建了一个名为Default.aspx和Default2.aspx的Web表单:

我写了以下代码:

Default.aspx的:

在源视图中

    
    

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

</div>
</form>

在代码隐藏文件中:

protected void Button1_Click(object sender,EventArgs e)
    {

Server.Transfer("Default2.aspx ? name =roseline & password = pass@123");
}

Default2.aspx的编码:

在源视图中:

    
    
        
        
        
        
        
        
    
        
    
    

在代码隐藏文件中:

public string n,p;
protected void Page_Load(object sender,EventArgs e)
{
    n = Request.QueryString["name"];
    p = Request.QueryString["password"];

}
protected void Button1_Click(object sender,EventArgs e)
{
    TextBox1.Text = n;
    TextBox2.Text = p;
}

当我执行上述应用程序时,我没有收到任何错误.

当我单击Default.aspx中的Button1时,它会显示Default2.aspx,但是当我单击按钮时,我没有得到TextBox中的值,TextBoxes是空的,没有任何值.

谁能告诉我我的编码有什么问题?为什么它没有在TextBoxes中显示值?

请帮帮我!

提前致谢!

解决方法

您无法在Server.Transfer中附加查询字符串.

您可以在Context中传递值

例如:

Context.Items["ParamName"] = value;

您可以从here获取Server.Transfer和Response.Redirect之间的差异

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...