类和可访问性问题asp.net

本文关键字:问题 asp net 访问 | 更新日期: 2023-09-27 18:07:01

我有一个小的类

public static class TSM
{
    static string TokenID = "";
    public static string GetTSM()
    {
        TokenID = new Guid().ToString();
        return TokenID;
    }
}
`GetTokenID `will return a string

我只是从我的aspx页面调用GetTokenID,如

<script language="javascript" type="text/javascript">
    var token= <% =TSM.GetTSM() %>;

当我运行aspx页面时,我得到错误。

错误是

编译错误描述:在编译服务此请求所需的资源期间发生错误。请查看以下具体的错误细节,并适当修改您的源代码。

编译器错误信息:CS1002:;将

请告诉我哪里出错了。由于

类和可访问性问题asp.net

您需要将此TSM类声明所在的名称空间引入Web页面的作用域:

<%@ Import Namespace="SomeNamespace" %>
...
<script type="text/javascript">
    var token = '<%=TSM.GetTSM() %>';
</script>

或者完全引用:

<script type="text/javascript">
    var token = '<%= SomeNamespace.TSM.GetTSM() %>';
</script>

或将其包含在web.config的<namespaces>部分。

备注:注意<%=TSM.GetTSM() %>周围的'',因为在javascript中没有Guid类型。必须使用字符串

还要注意,由于这个静态字段的分配,您的服务器端代码不是线程安全的。此外,它将始终生成一个空指南。

如何改进它:

public static class TSM
{
    public static string GetTSM()
    {
        return Guid.NewGuid().ToString();
    }
}