2017-11-08 15 views
0

私はASP.NET mvcアプリケーション内で簡単なsignalRチャットモジュールを実装しました。しかし、チャットページのJavaScriptは実行されていません。私はSignalRのためのNuGetを通してインストールする必要があった最新のjqueryライブラリを持っていますが、それでも動作しません。ここでASP.NET mvc signalrスクリプトが実行されていません

は、私は私のJavaScriptをロードする方法である:ここでは

<head> 
<meta charset="utf-8" /> 
<title>Studiemeter Tech Support</title> 
@Styles.Render("~/Content/Site.css") 
@Styles.Render("~/Content/bootstrap.min.css") 
@Styles.Render("~/Content/sb-admin-2.min.css") 
@Styles.Render("~/Scripts/vendor/metisMenu/metisMenu.min.css") 
@Styles.Render("~/Scripts/vendor/morrisjs/morris.css") 
@Styles.Render("~/Scripts/vendor/font-awesome/css/font-awesome.min.css") 
@Styles.Render("~/Content/login.css") 
@Scripts.Render("~/Scripts/jquery-1.12.4.min.js") 
@Scripts.Render("~/Scripts/jquery-ui-1.12.1.min.js") 
@Scripts.Render("~/Scripts/vendor/morrisjs/morris.min.js") 
@Scripts.Render("~/Scripts/vendor/bootstrap/js/bootstrap.min.js") 
@Scripts.Render("~/Scripts/vendor/metisMenu/metisMenu.min.js") 
@Scripts.Render("~/Scripts/vendor/raphael/raphael.min.js") 
@Scripts.Render("~/Scripts/dist/js/sb-admin-2.js") 
@Scripts.Render("~/Scripts/modernizr-2.6.2.js") 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<meta name="description" content=""> 
<meta name="author" content=""> 

<title>Studiemeter Ticket Systeem</title> 

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 
<!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
<!--[if lt IE 9]> 
    <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> 
    <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> 
<![endif]--> 

</head> 

は私のチャットページは次のとおりです。

SignaRChat.cshtml

<div class="container"> 
    <input type="text" id="message" /> 
    <input type="button" id="sendmessage" value="Send" /> 
    <input type="hidden" id="displayname" /> 
    <ul id="discussion"></ul> 
</div> 
@section scripts { 
    <script src="~/Scripts/jquery.signalR-2.2.2.min.js"></script> 
    <script src="~/signalr/Hubs"></script> 
    <script> 
     console.log("ok lol"); 
     $(function() { 
      console.log("ok cuck"); 
      var chat = $.connection.chathub; 
      chat.client.addNewMessageToPage = function (name, message) { 
       $('#discussion').append('<li><strong>' + htmlEncode(name) 
       + '</strong>: ' + htmlEncode(message) + '</li>'); 
      }; 
      $('#displayname').val(prompt('Enter your name:', '')); 
      $('#message').focus(); 
      $.connection.hub.start().done(function() { 
       $('#sendmessage').click(function() { 
       chat.server.send($('#displayname').val(), $('#message').val()); 
       $('#message').val('').focus(); 
      }); 
     }); 
    }); 

    function htmlEncode(value) { 
     var encodedValue = $('<div />').text(value).html(); 
     return encodedValue; 
    } 
</script> 
} 

私もChatHubクラスを作成しています次のように起動スクリプトがあります。

ChatHub.cs

namespace TicketSystem.Hubs 
{ 
    public class ChatHub : Hub 
    { 
     public void Send(string name, string message) 
     { 
      // Call the addNewMessageToPage method to update clients. 
      Clients.All.addNewMessageToPage(name, message); 
     } 
    } 
} 

Startup.cs

[assembly: OwinStartup(typeof(TicketSystem.Hubs.Startup))] 
namespace TicketSystem.Hubs 
{ 
    public class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      // Any connection or hub wire up and configuration should go here 
      app.MapSignalR(); 
     } 
    } 
} 

私はそこにはダイアログはいないとJavaScriptが動作しないのチャットページに移動します。私はこれについてかなり新しいです、そして、私はここで間違っているのか分かりません。誰かがここで何がうまくいかないか教えてもらえますか?

+0

jQueryをロードしていますか?私はあなたのcshtmlでそれを見ません –

+0

ああうん、私はここに入れてみましょう –

+0

すべてのブラウザのコンソールログ。? – Tester

答えて

0

私はそれを得ました。この問題は、レイアウトのセクションを使用することによって発生していました。このために、

RenderBody() 
RenderSection("scripts", required: false) 

:私はちょうどあなたが次の順序を入れていたことを発見し

RenderSection("scripts", required: false) 
RenderBody() 

は私のチャット機能はまだ私が使用している機能に関するいくつかのエラーが発生しますが、これは私が扱うことができます。私はASP.NET MVCの新機能です。

関連する問題