C#页面间传值问题:如何在跳转时为指向页面的属性赋值?
我为a.aspx页面定义了几个属性,如////////////////////////////////////////string_id;string_name;publ...
我为a.aspx页面定义了几个属性,如
////////////////////////////////////////
string _id;
string _name;
public string Id
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
//////////////////////////////////////////
我想在跳转到这个页面时为Id和Name属性赋值,
有没有方法能像为类的属性赋值一样,为.aspx页面的属性赋值呢?
如下方式:
Class1 c1=new Class1();
c1.ID=1;
c1.Name="xxx";
因为我想aspx页面也是类,应该也可以不使用get/post,session,cookie等方法,同样完成页面间传值 展开
////////////////////////////////////////
string _id;
string _name;
public string Id
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
//////////////////////////////////////////
我想在跳转到这个页面时为Id和Name属性赋值,
有没有方法能像为类的属性赋值一样,为.aspx页面的属性赋值呢?
如下方式:
Class1 c1=new Class1();
c1.ID=1;
c1.Name="xxx";
因为我想aspx页面也是类,应该也可以不使用get/post,session,cookie等方法,同样完成页面间传值 展开
3个回答
展开全部
你的思路是想避免使用QueryString Session Cookies等方法来实现页面跳转的同时为参数赋值。
如果值是固定的,你就可以采用在Page_Load事件里面赋值,可以用IsCrossPostBack属性来确认是否为一个跨网页提交发生,如果这个属性值为true,那么目标网页就是通过一个跨网页提交动作。
如果是未知的值,那么先写一个类比如C
然后你的方法:Class1 c1=new Class1();
c1.ID=1;
c1.Name="xxx";
然后C类使用Response.Write将整个网页以字符流的形式输出出去
比如Response.Write("<span>ID是"+ID+"</span>");
---------------------------------------------------------------------
实际上aspx并不是类,只是有有一个类与之绑定,在页面生命周期中IIS会根据页面头的设定实现这个类,并维护它。
毕竟ASP.NET还是一种基于HTML标准的应用。归根结底是串流形式,所以不是真正的面向对象。
如果值是固定的,你就可以采用在Page_Load事件里面赋值,可以用IsCrossPostBack属性来确认是否为一个跨网页提交发生,如果这个属性值为true,那么目标网页就是通过一个跨网页提交动作。
如果是未知的值,那么先写一个类比如C
然后你的方法:Class1 c1=new Class1();
c1.ID=1;
c1.Name="xxx";
然后C类使用Response.Write将整个网页以字符流的形式输出出去
比如Response.Write("<span>ID是"+ID+"</span>");
---------------------------------------------------------------------
实际上aspx并不是类,只是有有一个类与之绑定,在页面生命周期中IIS会根据页面头的设定实现这个类,并维护它。
毕竟ASP.NET还是一种基于HTML标准的应用。归根结底是串流形式,所以不是真正的面向对象。
展开全部
你需要在 事件里对属性进行赋值,比如Page_Load 事件里this.Name="XXX"
如果你是想要对本页面做初始化赋值的话,在Page_Load 里赋值就好了
不过要提醒你的是Web开发 变量在被postback了以后会丢失的,你需要用ViewState或者其他方式进行状态保存。
如果你是想要对本页面做初始化赋值的话,在Page_Load 里赋值就好了
不过要提醒你的是Web开发 变量在被postback了以后会丢失的,你需要用ViewState或者其他方式进行状态保存。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传值的时候还是用a.axps?id=1&name=aaa;
接收时用,
protected void Page_Load(object sender, EventArgs e)
{
if (IsCrossPagePostBack)
{
string id = Request.QueryString["id"];
string name = Request.QueryString["name"];
}
}
接收时用,
protected void Page_Load(object sender, EventArgs e)
{
if (IsCrossPagePostBack)
{
string id = Request.QueryString["id"];
string name = Request.QueryString["name"];
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询