【问题标题】:Signalr: How to call a javascript function the name of which is defined at run timeSignalr:如何调用在运行时定义名称的 javascript 函数
【发布时间】:2014-12-10 17:03:54
【问题描述】:

我用谷歌搜索了这个,但找不到任何相关的东西。我想在信号器中调用一个javascript函数,其名称是在运行时定义的。通常一个函数调用应该是这样的

NotificationsHub.Clients.User(interestRegistration.UserName).functionName();

我想知道以下是否可行:

string functionName = "myFunction";
NotificationsHub.Clients.User(interestRegistration.UserName).callDynamicFunction(functionName);

可以在这个堆栈溢出帖子中找到答案:How can I call a dynamically selected SignalR client method from an IHubContext?

【问题讨论】:

标签: javascript c# asp.net signalr


【解决方案1】:

如果函数在对象中,则可以访问数组成员之类的函数,

例如

var someObject = {
    theDynamicFunctionHere: function ()
    {
        alert("I am a dynamic function");
    }
};

那你可以像这样通过一个变量名来调用它,

string functionName = "theDynamicFunctionHere";
someObject[functionName]();

【讨论】:

  • 另外,如果您使用 MVC 和 Razor 模板,您可以使用 razor 模板动态构建您的 javascript 以填写动态函数名称。如果您使用 Web 表单,则可以通过构建自定义表达式构建器来做同样的事情。
  • 那么我的后续评论适用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多