2013-07-17 68 views
0

我無法將c#變量轉換爲我的aspx文件中的javascript值。這是我目前有:難以將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'不存在於當前上下文

+1

ASPX頁面不會從類'Default'繼承。 – Matthew

+1

因爲它在'Default'類中? –

+0

.aspx文件頂部的@Page指令是什麼樣的? – MaxPRafferty

回答

4

chat.aspx中的標記只能看到它自己的類的成員 - 通常是代碼隱藏中包含的部分類。所以,你不能看到pass變量,但你可以使用:

var pass = "<%=new Default().pass%>"; 

或者你可以做pass一個靜態變量:

public class Default 
{ 
    public static string pass = "password"; 
} 
+0

現在我收到以下錯誤消息 - 'Member'Default.pass'無法通過實例引用進行訪問;使用類型名稱來代替它「 – methuselah

+1

@methuselah嗯......你還有一個名爲」Default「的頁面嗎? – McGarnagle

+0

@McGarnagle成員變量'pass'已經是'static'了。爲什麼需要「新」?它不應該只是'Default.pass'嗎? –