我有像
这样的小班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 :;预期
请告诉我出了什么问题。感谢答案 0 :(得分:5)
您需要将声明此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类型。你必须使用一个字符串。
另请注意,由于此静态字段的分配,您的服务器端代码不是线程安全的。它也将始终生成一个空的guid。
以下是如何改进它:
public static class TSM
{
public static string GetTSM()
{
return Guid.NewGuid().ToString();
}
}