[問題] ASP.net C# 網頁chart用javascript疑問

作者: prjryu (再努力一點)   2018-12-02 15:29:51
各位前輩大家好,
為了工作所需,在下最近踏入了ASP.net MVC架構的世界,
而上次碰網頁已是10年前簡單HTML、PHP應用的學生年代...
目前遇到了與javascript溝通的困境,望版上善心人士指點迷津 m(_ _)m
ASP.net MVC的架構是我第一次接觸,也買了書籍最初階的學習,
我撰寫的網頁已可以使用controller(C#)與view(cshtml)控制網頁資料的顯示或運算;
工作任務中又有一需求是需要將DB撈出的資料以chart顯示(直方/圓餅/散佈圖...)
找尋網路上眾多的chart套件,發現幾乎所有都是使用javascript去實作,
我也找到了相關的範例,確定引入我的專案同樣可以長出套件的圖。
現在需要的動作是:
1. user在網頁(cshtml)上設定搜尋條件送出
2. 後端(controller)利用網頁上傳回的條件select DB資料並回傳給網頁的javascript
3. ueer在網頁上可看到所設範圍資料長出的chart圖
(有想過直接從javascript去連DB,但網路上查了大家都不建議者麼做,
有安全性的問題,DB連線的這一段不考慮做在javascript端,而是C#撈完再傳出去)
而我遇到最大的問題是,我不知道該如何將C#讀出的DB資料,
轉為JASON傳給Chart圖的.js檔變數中作為chart圖的input,
想請教有經驗的前輩們如何實作,或 是否有相關的教學/sample code能提供,
在下感激不盡。
作者: tomnelson   2018-12-02 18:01:00
JASON(X) JSON(O)不過如果你是要轉給你同事JASON的話,當我沒說... :)
作者: prjryu (再努力一點)   2018-12-02 18:37:00
是JSON沒錯 Tom大大幽默了一把。
作者: lonniekao (free myself)   2018-12-02 22:03:00
最簡單的方法是controller加上[post]回傳jsonresult
作者: prjryu (再努力一點)   2018-12-02 23:34:00
要如何從view的cshtml 呼叫controller 的function?
作者: Litfal (Litfal)   2018-12-02 23:40:00
javascript
作者: prjryu (再努力一點)   2018-12-02 23:45:00
js不能直接傳運算結果的話我只整走@ViewData或@ViewBag了我在cshtml裡用js的"<%=functionxxx()%>";會真的被當字串完全不會回call我controller裡面的function也試了PageMethods,一直會說PageMethods is not defined也試了$.ajax({type: "POST", url: "/HomeController/xxx回找不到網頁....
作者: pennymarkfox (潘尼老狐狸)   2018-12-03 11:29:00
找不到網頁是因為你url組錯了用page methods然後jquery去拿這方向是對的
作者: Litfal (Litfal)   2018-12-04 00:24:00
先學會用第三方工具去call web api吧,還有js的url可以用UrlHelper去建
作者: johnny4753 (Li)   2017-01-01 16:19:00
感覺你只是mvc的model binding機制不熟,先把.net mvc前後端傳遞資料的方式搞懂吧,剩下只是call js chart相關 library去呈現後端回應給前端的資料而已

Links booklink

Contact Us: admin [ a t ] ucptt.com