如何正确调用Page.ClientScript中的函数

时间:2012-05-24 23:24:44

标签: c# javascript asp.net

在这种情况下,我有两件事情我不太了解

首先,有一种采用这种格式的javascript

function Allocate()
{
    this.Name = $("allocateName");
    this.AddAllocation = $("addAllocation");
    this.setCustom= $("setCustom");
}
... some other initializations here
Allocate.prototype.EnableAllocations = function() {

 this.enableAllAlloactions();
 this.setCustomAllocations();
}

这只是一个例子,这是Javascript中的某种类吗?这是一个名为Allocate.js的文件。

我的问题如下:

如果我要在Page.ClientScript.RegisterClientScriptBlock(...);中调用EnableAllocations,我该怎么做?

1 个答案:

答案 0 :(得分:0)

您应该实例化Allocate对象,并调用其EnableAllocations函数。

  var alloc = new Allocate();
  alloc.EnableAllocations;

所以你可以用代码创建一个字符串并使用如下传递它:

  Page.ClientScript.RegisterClientScriptBlock("key",
     "var alloc = new Allocate();alloc.EnableAllocations;");
  • 注意:您可以使用this.GetType()。FullName作为键。不应对不同的脚本使用相同的密钥。

不推荐使用此方法。请改用ClientScriptManager.RegisterClientScriptBlock方法(取决于您使用的框架版本)。

最后,我不知道您使用的是哪个库,但$()来自某个库。因此,依赖于该库,以及allocateNameaddAllocation等依赖于它们。无论它们是什么。