首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

新的内容添加成功后怎么向下一个页传值,

2012-01-03 
新的内容添加成功后如何向下一个页传值,急!!!新闻添加页:add.aspx.csprotectedvoidbtnADD_Click(objectsen

新的内容添加成功后如何向下一个页传值,急!!!
新闻添加页:add.aspx.cs

        protected   void   btnADD_Click(object   sender,   EventArgs   e)
        {
                type   t   =   new   type();
                t.newsTitle   =   this.txtnewsTitle.Text;
                t.newsText   =   this.txtnewsText.Text;
                if   (master.insertOperate(t))
                {
                        txtnewsTitle.Text   =   " ";
                        txtnewsText.Text   =   " ";
                        Response.Redirect( "add-up.aspx ");
                }
                else
                {
                        Response.Write( "添加失败! ");
                }


接收页:add-up.aspx.cs

        protected   void   Page_Load(object   sender,   EventArgs   e)
        {
                SqlConnection   con   =   DB.createCon();
                con.Open();
                string   strID   =   Request.Form.Get( "newsID ").ToString();
                SqlCommand   cmd   =   new   SqlCommand( "select   *   from   newsMaster   where   newsID= ' "   +   strID   +   " ' ",   con);
                SqlDataReader   dr   =   cmd.ExecuteReader();
                dr.Read();
                this.Label1.Text   =   dr[ "newsTitle "].ToString();
                this.Label2.Text   =   dr[ "newsText "].ToString();
                dr.Close();
        }


新闻主键:newsID
新闻标题:newsTitle
新闻内容:newsText

要实现,在add.aspx添加成功后,跳转到add-up.aspx后,add-up.aspx要能接受到刚才添加成功的那一列的内容.(注:不是用session保存,因为要获得刚才添加成功后的那一列的主键.)
上面我写的add-up.aspx.cs的代码是不对的,哪位能帮我写个正确的,必当感激不尽.

[解决办法]
add.aspx.cs
Response.Redirect( "add-up.aspx?newsID=1&newsTitle=2&newsText=3 ");

add-up.aspx.cs

string newsID = Request.Params[ "newsID "];
string newsTitle= Request.Params[ "newsTitle "];
string newsText= Request.Params[ "newsText "];
[解决办法]
用传参 然后用me.request.query( "查询条件的主键 ")取得主键 然后通过SQL语句就可以查到所有的值了!!
------解决方案--------------------


这个要根据你的主键的定义来说
你可以写个方法 插入完成后取主键
或者直接就在插入方法里面写 插入成功后直接返回主键,否则返回0
[解决办法]
Response.Redirect( "add-up.aspx?newsID=1 "+t.newsID)

up:
type t = (type)Manager.....GetObject(typeof(type), Request.Params[ "newsID "]);
(是用的ORM吗?)
t.newsTitle ;
t.newsText ;
[解决办法]
但我有一点不明白
protected void btnADD_Click(object sender, EventArgs e)
你插入的的INSERT语句应该写在这按钮下的 所以当你点这按钮时候这数据就存到数据库中了
所以下个页面就从数据库中取啊!
[解决办法]
假如你插入语句插入的主键是USID的话
那么紧接着你再写个select语句 select USID(主键) from 表
然后转页面时候传参
Response.Redirect( "add-up.aspx?USID=选出的主键)
在下个页面用request接受
[解决办法]
插入语句里返回自增的id就可以了
string sql = "insert into testtable values( 'aaa ');select @@identity as newid ";
SqlCommand cmd = new SqlCommand(sql,con);
int newid = (int)cmd.ExecuteScalar();
这样就可以取到这个新增的id,然后传到下个页面

热点排行