将静态类字符串常量传递给客户端代码

时间:2013-08-22 16:50:55

标签: asp.net

将服务器端变量传递到客户端并不是太粗糙

var Variable = '<%= ServerVaraible %>' 

其中ServerVaraible是代码隐藏中公开可访问的内容,简单易用

现在假设我有一个静态类

namespace Server.Helpers
{
   public static class QueryStringConstants
     {
       public static string CARID = "carId";
     }
}

为什么我不能去:     var Variable ='&lt;%= Server.Helpers.QueryStringConstants.CARID%&gt;'

如果我这样做,我会收到错误

'System.Web.HttpServerUtility' does not contain a definition for 'Helpers' and no extension method 'Helpers' accepting a first argument of type 'System.Web.HttpServerUtility' could be found 

我确信我很想宣布一些事情,但我并不是百分之百确定......

2 个答案:

答案 0 :(得分:0)

我能够将您的类从Server.Helpers重命名为ServerTest.Helpers,然后可以访问该值。我相信Server关键字是保留的,因此当你去调用Server.Helpers时它试图在Server对象上找到不存在的Helpers类。

答案 1 :(得分:0)

Server表示属于您所在类(Page)的属性,因此存在命名冲突。要访问避免冲突的类,请使用global关键字,这会强制您使用完整的命名空间:

var Variable = '<%= global::Server.Helpers.QueryStringConstants.CARID %>'