2

面临的困难: 我正在寻找 asp.net-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()); 
    }

    if (!ClientScript.IsClientScriptBlockRegistered("JSScriptBlock")) 
    {
            ClientScript.RegisterClientScriptBlock(this.GetType(), "JSScriptBlock", sb.ToString()); 
    }

我收到错误...字符文字中的字符太多...在这一行

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;"); 

谢谢指导

我如上所述更新了我的问题....请帮助我

4

3 回答 3

2

在这里,您可以找到一个非常简单且不错的使用 asp.net 和 ajax 弹出窗口的教程:

http://www.asp.net/web-forms/tutorials/ajax-control-toolkit/modalpopup/launching-a-modal-popup-window-from-server-code-cs

希望它可以帮助你。

问候

更新:

此代码经过测试并且工作正常:

HTML:

<asp:Button ID="Button1" runat="server" OnClientClick="JavaScript:Open()" Text="Button" />

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());
            }
        }

当然,您必须将 OnClick 属性添加到您的 html 按钮并指向 Open() 方法。

于 2012-04-30T10:50:10.573 回答
1

错误消息指向一个特定的错误:在 C# 中,您需要将字符串括在双引号中。单引号用于表示单个字符。

string mystring = "This is a test";
Console.WriteLine(mystring[0] == 'T'); // prints "True"

根据编译器,您尝试将字符串括在单引号中。

于 2012-05-01T07:59:25.047 回答
1

在链接样式表/javascript/jquery 时,请避免在标签内使用 runat="server"。

如果我们包含 runat="server"。它也可能导致上述错误。

于 2013-10-03T09:19:24.127 回答