2012-01-23 15 views
1

我有兩列數據在MS SQL Server上的數據庫。一個是日期時間變量,另一個是int。如何從SQL Server數據傳遞給jQuery的變種[海軍報]

我試着jQuery和海軍報繪製日期時間VS INT。

我可以使用C#編程從SQL Server中的數據。但是,我如何將它傳遞給具有flot的JavaScript文件呢?

+2

我們展示你的代碼。 – adatapost

+1

有一百萬或至少有這麼多的方法來做到這一點。但無論如何,所有的結果都是把你的C#變量寫成DOM或者將javascript變量寫成字符串並使用eval或parse。對於開始告訴我們,如果您使用MVC或形式 – Saulius

+0

我不使用MVC。我使用表單。 – Kal

回答

0

我不確定你如何將數據從c#傳遞給你的案例中的* .js文件,我不認爲它是可能的。但你可以嘗試包含* .js文件包括你可以嘗試申報和JavaScript變量設置爲C#代碼(所以在ASPX,如果它的ASP.NET),然後把頁面上的黑客* .js文件包括參考在這一點之後,在它不重新宣佈變量,但使用它。您也可以使用JSON或AJAX調用服務器端代碼並​​返回值並執行代碼。

方案1:(這個破解的方法,這是不乾淨的,難以維護,但做這項工作)

File.aspx

<script language="javascript" type="text/javascript"> 
var MyVariable = "<%=C_Variable_On_Code_Behind%>"; 
</script> 
<script type="text/javascript" src="/scripts/YourJsFile.js" > 
</script> 

YourJsFile.js

if(MyVariable != null && MyVariable.length > 0){ 
//Do some thing. 
} 

方案2:(JSON,AJAX,JQUERY UI)

用於自動填充jQuery用戶界面樣品:try this link

又如:Or this link

方案3:通過ClientScriptManager(寫入從服務器端的C#中的客戶機)

使用RegisterStartupScriptRegisterClientScriptBlock對象,這裏是一個虛擬代碼,我把它們放在一起,所以你可以查看它們,並有一個想法,所以你可以找出更多,這並不意味着完整的代碼。

ClientScriptManager script = Page.ClientScript; 
if (!script.IsClientScriptBlockRegistered(this.GetType(), "YourLabelForThis")) 
{ 
    script.RegisterClientScriptBlock(this.Page.GetType(), "YourLabelForThis", 
    "<script type=\"text/javascript\">var MyVariable = "Dummy text";</script>", false); 
} 

請注意,您必須把js代碼爲包括或進一步代碼在whther你之前或此代碼後,想要的頁面正確的位置,所以通過ClientScriptManager查找RegisterStartupScriptRegisterClientScriptBlock。查看代碼的放置位置以及處理方式。另外看看瀏覽器中的頁面源代碼也可以看到它。

+0

你幫了我很多!非常感謝你。我從中學到了很多東西。雖然我沒有得到我想要的信息感謝信息。我會回發,如果我得到我的結果 – Kal