2012-04-07 79 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