2015-04-17 103 views
-1

我在一个aspx网页中有一个方法,它可以从另一个非网页的.cs类访问。该方法包含一个ClientScript来创建一个弹出窗口。static void客户端脚本

当我试图使它成为一个静态的时候,我得到下面这个错误。

的对象引用需要非静态字段,方法或属性“System.Web.UI.Page.ClientScript.get”

所以我想知道如果有一种方法从另一个.cs类或解决方案访问此方法。

基本上,当错误在.cs类上跳动时,我想显示一个说明错误的弹出窗口。

public static void message(string popupinformation) 
    { 
     ClientScript.RegisterStartupScript(this.GetType(), "", "popupinformation", true); 
    } 

在的.cs

AddUI.message("alert('Error can not add information');"); 
+0

发布两种方法的代码 –

+0

我已添加代码 – user673906

+0

我已编辑您的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

回答

0

TL;博士 - 你需要在库中添加"System.web"参考。

据我所知,你在另一个库中有一个独立的cs文件,它调用一个坐在asp.net webform中的函数。如果这是真的,那么你如何调用该函数,因为它将在从system.web.ui.page继承的页面类中。

让我们假设你已经通过将它放置在App_Code。然后用那个类Web_work.cs在其他一些库中说lib.cs

要在库中使用ClientScript...请使用lib.cs您需要在该库中添加"System.web"引用。

最佳做法是在库中进行所有验证,但仅在webform中使用此类显示方法。举一个例子,假设你想要使用windows窗体,它使用MessageBox.Show,在这种情况下,你的库需要用当前的方法改变。