C# 如何将参数从一个页面传递到另一个页面?

C# 如何将参数从一个页面传递到另一个页面?,c#,asp.net,events,C#,Asp.net,Events,我有以下代码: public partial class _Default : System.Web.UI.Page { List<GlassesCollection> gc= BL.Example.GetCategory() ; protected void Page_Load(object sender, EventArgs e) { rpt1.DataSource = gc; rpt1.DataBind();

我有以下代码:

public partial class _Default : System.Web.UI.Page
{
      List<GlassesCollection> gc= BL.Example.GetCategory() ;

    protected void Page_Load(object sender, EventArgs e)
    {
        rpt1.DataSource = gc;
        rpt1.DataBind();
    }

    protected void rpt1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {

     Button btn = (Button)e.Item.FindControl("btn1");
     btn.CommandArgument = DataBinder.Eval(e.Item.DataItem,"CollectionID").ToString();
   }
}    
public分部类\u默认值:System.Web.UI.Page
{
List gc=BL.Example.GetCategory();
受保护的无效页面加载(对象发送方、事件参数e)
{
rpt1.DataSource=gc;
rpt1.DataBind();
}
受保护的void rpt1_ItemDataBound(对象发送方,RepeaterItemEventArgs e)
{
按钮btn=(按钮)e.Item.FindControl(“btn1”);
btn.CommandArgument=DataBinder.Eval(例如Item.DataItem,“CollectionID”).ToString();
}
}    
我想将btn.CommandArgument的内容传递到另一个ASPX.CS文件中的标签事件。 有什么方法可以实现这一点吗? 提前谢谢你

您可以使用。例如,您的url可以如下所示:

string url = String.Format("http://www.example.com/somepage.aspx?labeltext={0}",btn.CommandArgument);
然后,在
somepage.aspx
中,您可以:

//"labeltext" is the same name we used above as the ID
string lblText = Request.QueryString["labeltext"];
if (lblText != null)
{ 
   myLabel.Text = lblText;
}

如果文本可能不适合传入URL,则可以使用对其进行编码,然后在将其分配给标签之前对其进行解码。

您需要使用会话。在会话中输入值并在另一页中读取

Session["key"]=value;

使用查询字符串进行以下操作:

Response.Redirect("AnotherPage.aspx?CommandArgument=SomeArgument");
然后阅读另一页.aspx上的查询字符串

string commArgument = Request.QueryString["CommandArgument"];

嗯,有很多方法可以将参数传递给其他页面,通过get方法“?param=value¶m2=value2”等发送,或者存储在会话对象或应用程序对象中,甚至使用静态类/对象存储从页面传递给其他页面的参数。实现基本上取决于您所使用的应用程序的体系结构。如果跨页面发布是一个选项,您可以查看以下内容: