我在 MVC 平台上看到了 SignalIR 和 KnockoutJS 示例,但在 WebForm 上没有。请建议我,我们可以在 WebForm 上使用吗?任何文章链接都将是可观的。
问问题
2872 次
2 回答
2
我知道这正好晚了一个月,但这是一个简单的例子[这是我通过探索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 客户端和 KnockoutJs 是 javascript 组件,不依赖于 mvc 或 Web 表单。只需对 web 表单使用web 方法,而不是 mvc 的操作方法。
于 2012-06-21T11:21:38.447 回答