2012-06-21 69 views
2

我看到的可能是在MVC平台上的SignalIR和KnockoutJS示例的样本,但不在WebForm上。请建议我,我们可以在WebForm上使用吗?任何文章链接将是可观的。SignalIR和KnockoutJS在Asp.Net Web窗体

+0

嗨 - 很好的问题。你也在下面的答案中评论了你的工作原理 - 请你发布你的样本实施并接受它作为答案?我非常感兴趣,很乐意为它+1。谢谢 ! –

+0

嗨,是的,我在Webform上实现了自己。你想要我的示例应用程序吗?那么请发送电子邮件到我的Gmail帐户[email protected]或来Skype上“pahamad”然后我将转移你的整个示例代码。 – Parwej

回答

1

SignalR托管(服务器端)实现为AspNetHandler,因此不存在任何对mvc的依赖。 SignalR客户端和KnockoutJs是javascript组件,不依赖于mvc或web表单。只需使用web methods而不是mvc的操作方法。

+0

谢谢,我会尽力让你知道。 – Parwej

+0

只需在Asp.Net Webform中挖掘SignalR并分析就没有必要使用Web方法。 – Parwej

2

我知道这正是晚了一个月,但这里有一个简单的例子[这是我从探索MVC examples建立了一个简单的例子]

可以说u有一个叫做我的页面

页。 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); 
     } 
    } 
} 
+0

感谢Himura,我之前得到了它,并在Webform中实现了Facebook风格的聊天模块。这真的很棒:) – Parwej