![](/img/trans.png)
[英]How to execute other function after @Url.Action with javascript
[英]How to use signalr hub function in Url.Action?
我在我的signalr hub类中创建了一个函数,我想在我的视图中点击Url.Action后使用这个函数。
我试着用这种方式做到这一点:这是我在Hub
Class中的功能
public void AddNewUserMessage(string toUser)
{
var toUserName = _dbContext.Users.Where(x => x.Id == toUser).Select(y => y.UserName).ToString();
var name = Context.User.Identity.Name;
var userId = Context.User.Identity.GetUserId();
Clients.Client(toUser).onNewUserConnected(userId, name);
Clients.Caller.onNewUserConnected(toUser, toUserName);
}
这是我的Url.Action
:
<a class="btn btn-lg btn-primary" href="@Url.Action("Index", "Chat" , new {onclick= "chatHub.server.addNewUserMessage("+item.Id+");" })" aria-label="Go to chat">
<i class="fa fa-commenting-o"></i></a>
它有可能以这种方式工作吗?
你比如需要使用$.connection
指的是当物体chatHub
,并使用client
对象,而不是server
调用服务器方法时。 请在此处查看MSDN: https : //www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-javascript-client#callserver
另外,不要在标记中嵌入JavaScript。 这使得难以维护。
<a href="@Url.Action("Index", "Chat", new { onclick= "$.connection.chatHub.client.addNewUserMessage("+item.Id+");" })">
<i class="fa fa-commenting-o"></i>
</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.