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

stylesheet/javascript/jquery をリンクするときは、タグ内で runat="server" を使用しないでください。

runat="server" を含める場合。また、上記のエラーにつながる可能性もあります。

于 2013-10-03T09:19:24.127 に答える
1

エラー メッセージは特定のエラーを示しています。C# では、文字列を二重引用符で囲む必要があります。一重引用符は、単一の文字を意味するために使用されます。

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

コンパイラによると、文字列を一重引用符で囲もうとしました。

于 2012-05-01T07:59:25.047 に答える