2

MVC プラットフォームでは SignalIR と KnockoutJS のサンプルを多数見ましたが、WebForm では見ませんでした。私に提案してください、私たちは WebForm で使用できますか? 記事へのリンクはどれもかなりのものです。

4

2 に答える 2

2

これがちょうど1か月遅れていることは知っていますが、ここに簡単な例があります[これは、MVCの例を調べて構築した簡単な例です]

MyPageというページがあるとしましょう

.aspx ファイルに次のように記述します。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery.signalR-0.5.2.min.js" type="text/javascript"></script>
    <script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>

    <script type="text/javascript">
        $(function () {
            var conChat = $.connection.chat;
            conChat.addMessage = function (message) {
                $('#disMess').append('<li>' + message + '</li>');
            };
            $("#btnSend").click(function () {
                conChat.send($('#txtMess').val());
                $('#txtMess').val('');
            });
            $.connection.hub.start();
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <ul id="disMess"></ul>
        <input id="txtMess" />
        <!-- see onclick also -->
        <input id="btnSend" type="button" value="Send" />
    </div>
    </form>
</body>
</html>

実際には.csファイル[またはコードビハインド]には何もありません

ASP.NET フォルダー "Add_Code" を追加し、次のコードを使用してクラス "Chat.cs" を配置する必要があります。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SignalR.Hubs;

namespace NewSignalRChat
{
    public class Chat : Hub
    {
        public void Send(string msg)
        {
            Clients.addMessage(msg);
        }
    }
}
于 2012-07-21T16:48:55.643 に答える
1

SignalRホスティング(サーバー側)はAspNetHandlerとして実装されているため、MVCに依存することはありません。SignalRクライアントとKnockoutJは、MVCまたはWebフォームに依存しないjavascriptコンポーネントです。mvcのアクションメソッドの代わりに、WebフォームにWebメソッドを使用するだけです。

于 2012-06-21T11:21:38.447 に答える