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

我已将上面的代码更改为下面的代码

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

我这样做是因为我想让我的 URLsession= session_name结尾代替session_id. 这样做现在产生了一个问题,因为由于 session_id 没有传递,所以没有显示基于 session_id 的下一页上的结果。请参考原始问题 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;
            }

        }
4

1 回答 1

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;

}

希望对你有帮助....

于 2012-04-07T09:15:35.437 回答