2012-04-07 87 views
0
test.Controls.Add(GetButton(thisReader["session_id"].ToString(), "Join Session")); 

我已经改变了上面的代码到一个下面asp.net URL生成与名称和ID

test.Controls.Add(GetButton(thisReader["session_name"].ToString(), "Join Session")); 

我这样做是因为我想有我在session_id的URL session= session_name instade结束。现在这样做带来的问题,因为自从SESSION_ID没有通过我的结果下页基于SESSION_ID不displayed.Please指原来的问题asp.net url generation

Response.Redirect("EnterSession.aspx?session=" + e.CommandArgument.ToString()); 

如何解决这个问题?

C#entersession.aspx

public partial class _EnterSession2 : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 



      SessionID.Value = Request.QueryString["session"]; 
      // Label2.Text = DateTime.Now.ToString(); 
      if (User.Identity.IsAuthenticated) 
      { 
       string userName = User.Identity.Name; 
       //Username.Value = User.Identity.Name; 
       Username.Value = userName.ToLower(); 
       HiddenField1.Value = User.Identity.Name; 
      } 

     } 

回答

0

的一部分,你可以定义EnterSession.aspx页面的方法。这将采用参数作为请求[“会话”]。那么你可以调用db来根据session_name获取session_id。

使用下面的代码

public partial class _EnterSession2 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     SessionID.Value = GetSesssionID(Request["session"]); 
     // Label2.Text = DateTime.Now.ToString(); 
     if (User.Identity.IsAuthenticated) 
     { 
      string userName = User.Identity.Name; 
      //Username.Value = User.Identity.Name; 
      Username.Value = userName.ToLower(); 
      HiddenField1.Value = User.Identity.Name; 
     } 

    } 

private string GetSesssionID(string session_name) 
{ 
    string strRetval = string.Empty; 
    // make database call to fetch session_id and assign value to strRetval. 


    return strRetval; 

} 

希望这将帮助你....

+0

我添加了一个代码,类似于乌拉圭回合的建议,但已经在entersession.aspx C#的一部分而存在。请看看并告诉我如何修改它 – buni 2012-04-07 09:50:26

+0

我已根据您的要求修改我的答案。请看看..如果它工作 – 2012-04-07 10:42:54

+0

我应该不得不改变我的数据库查询smt?与此代码它没有工作 – buni 2012-04-07 11:23:00