0
我的計劃是創建一個簡單的聊天網站。我正在使用帶有剃鬚刀和signalR的聊天室。我已經完成了默認頁面和聊天室頁面,但我不知道如何「動態」創建聊天室頁面的多個實例,以便/ chatroom/1與/ chatroom/2是不同的聊天室。 2 instances of chat room page動態創建網站實例
我假設這可以通過製作10個聊天室頁面並將它們命名爲1-10來完成,但我認爲那是不好的做法。我已經完成了路由,以便/ room/[number]打開聊天室頁面的一個實例,但我不知道如何使它們彼此分離。如果需要代碼,我可以上傳到github。
編輯: Github
路由:
@using System.Web.Routing;
@{
RouteTable.Routes.MapWebPageRoute("{chatroom}/{number}", "~/room.cshtml",
constraints: new { chatroom = "room", number = "[1-9]"});
}
room.cshtml
@{
Layout = "~/_Layout.cshtml";
string s = Request.Url.AbsolutePath;
var RoomNumber = s.Substring(s.LastIndexOf("/") +1);
}
<div id="chat">
<textarea id="chatBox" rows="40" cols="50" readonly="readonly"></textarea>
<input type="text" id="message" placeholder="Your message"/>
<input type="button" id="msgSend" value="Send" />
</div>
<script type="text/javascript">
//simulate msgSend button with enter press when textbox focused
$('#message').bind('keyup', function (e) {
if (e.keyCode === 13) { // 13 is enter key
$('#msgSend').click();
}
});
$(function() {
// Declare a proxy to reference the hub.
var chat = $.connection.chatHub;
// Create a function that the hub can call to broadcast messages.
chat.client.broadcastMessage = function (message) {
// Html encode display message.
var encodedMsg = $('<div />').text(message).html();
//get current time
var currentdate = new Date();
var datetime =
+currentdate.getHours() + ":"
+ currentdate.getMinutes() + ":"
+ currentdate.getSeconds();
// Add the message to the page.
$('#chatBox').append('\n'+datetime+" "+encodedMsg);
};
// Set initial focus to message input box.
$('#message').focus();
// Start the connection.
$.connection.hub.start().done(function() {
$('#msgSend').click(function() {
// Call the Send method on the hub.
chat.server.send($('#message').val());
// Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});
});
</script>
歡迎來到StackOverflow!我會說絕對上傳代碼 - 只需編輯您的問題並添加相關的代碼,它會讓您更容易地回答您的問題。 – Eoin
問題是,我不知道哪部分代碼是相關的。我甚至不知道這整個事情是如何調用的,因此我不能使用谷歌找到答案。 – JanRad
在這種情況下,請將路由代碼和您正在使用的現有聊天室代碼放在一起 - 太多的代碼比沒有代碼更好。 – Eoin