在 asp.net-C# 中的网页之间传递值(通过列表框)

passing values (through listbox) between webpages in asp.net-c#

本文关键字:列表 net-C# asp 之间 网页      更新时间:2023-09-26

~/Admin/AdimHome.aspx.cs C# 代码

protected void Page_Load(object sender, EventArgs e)
 {
     System.Text.StringBuilder sb = new System.Text.StringBuilder();
     sb.Append("<script language='javascript'>function Open() {");
     sb.Append(string.Format("window.open('Chat.aspx?rid={0}'", lstRooms.SelectedValue));
     sb.Append(", 'newwindow','toolbar=no,location=no,menubar=no,width=290,height=330,resizable=no,scrollbars=no,top=350,left=980,right=500');return false;");
     sb.Append("}</script>");
     if (!ClientScript.IsClientScriptBlockRegistered("JSScriptBlock"))
     {
         ClientScript.RegisterClientScriptBlock(this.GetType(), "JSScriptBlock", sb.ToString());
     }
    lblFacultyNo.Text = Session["User_Id"].ToString();
    lblUserType.Text = Session["User_Type"].ToString();
    pnlChat.Visible = false;   
}

~/管理员/聊天.aspx.cs页 C# 代码

protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["User_Id"] == null)
            Response.Redirect("~/Admin/AdimHome.aspx");
        if (string.IsNullOrEmpty(Request.QueryString["rid"]))
            Response.Redirect("~/Admin/AdminHome.aspx");
        txtMsg.Attributes.Add("onkeypress", "return clickButton(event,'btn')");
        if (!IsPostBack)
        {
            hdnRoomID.Value = Request.QueryString["rid"];
            ChatRoom room = ChatEngine.GetRoom(hdnRoomID.Value);
            string prevMsgs = room.JoinRoom(Session["User_Id"].ToString(), Session["User_Id"].ToString());
            txt.Text = prevMsgs;
            foreach (string s in room.GetRoomUsersNames())
            {
                lstMembers.Items.Add(new ListItem(s, s));
            }
        }
    }

想要传递 lstRooms.SelectedValue to Chat.aspx.cs 页面以根据客户端请求进行检查以区分其聊天室:

sb.Append(string.Format("window.open('Chat.aspx?rid={0}'", lstRooms.SelectedValue));

点击 btnChat 事件:

<asp:Button ID="btnChat" Runat="server" CssClass="btn" OnClientClick="JavaScript:Open()" OnClick="btnChat_Click" Text="Join Room" />

问题的简单解决方案可能是如果您想更改代码...

//Javascript function
function Open()
{
   var ddl = document.getElementbyId('<%= lstRooms.ClientID%>');
   var ddlvalue = ddl.options[ddl.selectedIndex].value;
   Window.Open("Chat.aspx?rid=" + ddlvalue );
}

删除页面加载中的所有 JS 代码并将其放在 ASPX 页面上。让我知道它是否解决了