我很难将c#变量转换为我的aspx文件中的javascript值。这就是我目前所拥有的:
LetsChat.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR.Hubs;
public class Default
{
public string pass = "password";
}
namespace SignalRChat
{
[HubName("myChatHub")]
public class LetsChat : Hub
{
public void send(string message)
{
Clients.All.addMessage(message);
}
}
}
Chat.aspx
<script type="text/javascript">
var pass = "<%=pass%>";
</script>
为什么它给我以下编译错误?:
当前上下文中不存在名称“pass”
答案 0 :(得分:4)
chat.aspx中的标记只能看到自己类的成员 - 通常是代码隐藏中包含的部分类。因此,您无法看到pass
变量,但可以使用:
var pass = "<%=new Default().pass%>";
或者,您可以将pass
设为静态变量:
public class Default
{
public static string pass = "password";
}