2013-04-10 2 views
2

Я изучаю следующий пример signalRКак отправить вошедшего пользователя в чат-приложении с помощью SignalR

http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr-and-mvc-4

Я хочу осуществить это, а также код есть, но я не хочу пользователь набирает имя пользователя в окне подсказки, я собираюсь сделать страницу доступной для зарегистрированных пользователей, поэтому у меня будет context.User.

Я хотел бы изменить часть приглашения для использования context.User с сервера, но я понятия не имею, как это сделать.

Большое спасибо

$('#displayname').val(prompt('Enter your name:', '')); 
+4

позор на -1 голос, его очень правильный вопрос и никогда не просил, прежде чем, если -1, то по крайней мере оставить комментарий. –

ответ

3

Вы могли бы предоставить информацию о загрузке страницы или получить его с помощью AJAX. Я бы предложил первый.

В зависимости от вашего вида двигателя, что-то вроде ...

$('#displayname').val('@(Context.User.Replace("'", "\\'"))'); 

или лучше, обеспечить его как свойство вашей модели представления, поэтому было бы

$('#displayname').val('@(Model.User.Replace("'", "\\'"))'); 
+0

Я использую бритву –

+0

Я обновил свой ответ синтаксисом Razor – Basic

1

Я использовал следующий код. Однако он не перенаправляет вас на другую страницу. Но это делает окно входа в систему невидимым, когда пользователь входит в приложение и отображает комнату чата. Надеюсь это поможет.

$(function() { 
     setScreen(false); 
     var chatHub = $.connection.chatHub; 
     registerClientMethods(chatHub); 

     $.connection.hub.start().done(function() { 
      registerEvents(chatHub) 
     }); 
    }); 

function setScreen(isLogin) { 
      if (!isLogin) { 
       $("#divchat").hide(); 
       $("#divLogin").show(); 
      } 
      else { 
       $("#divchat").show(); 
       $("#divLogin").hide(); 
      } 

     }; 
1
// If the user is Authenticated shows de nick if not sets it to invitado + random number 
     if (Request.IsAuthenticated) { 
      $('#displayname').val(User.Identity.GetUserName()); 
     } else { 
      $('#displayname').val("invitado" + Math.floor((Math.random() * 100) + 1)); 
      // $('#displayname').val(prompt('Enter your name:', '')); (Alias Window... what you had) 
     } 

 Смежные вопросы

  • Нет связанных вопросов^_^