Re: [請益] 這個問題該怎麼implement呢?
這類問題
最基本且robust的解法
就是使用MVC patern來解
我先舉一個MVC在.NET上面實作的例子
如果大家覺得還可以修改的 請再幫我修改
基本上我的V只控制C
C控制M, M控制V
假設我目前只有兩種問題
1st: 是非題(在統計裡面稱做categorical data)
2nd: 身高,體重 (continuous data)
(在這邊我只是隨便舉例 你可能有更多類型 例如單選 複選)
首先呢 我需要一個data類別
來表示每個人的問卷資料
我先弄出兩個父類別 catData, conData
之後從這兩個類別衍生出所有問題的類別
在MVC pattern裡面 完全由這些類別的instance傳遞資料
因此在V裡面 自己去實做出Data的呈現方式(不管你要用datagrid或其他方式來放)
M裡面自己實作出Data存到資料庫的方法
所以V根本不知道M是怎麼存的 是放到SQL or Access
切的很乾淨吧
這種做法就能讓你發揮.NET based on OO上面的威力
你就不需要再搖頭了:)
最後要討論的就是實作的方式
你所說的動態新增控制項 也可以這樣做
要注意這是在V裡面做的事情
等到使用者填完之後
這些資料就要丟到C裡面處理
由C抓出Data物件之後 再丟給M去存到資料庫
順便一提
我感覺.NET 1.1 code behind方式
微軟就是要把*.aspx當成V
*.aspx.vb當成C
大家會有這種感覺嘛?
個人覺得.NET 1.1來開發 先將就這樣用沒關係
但.NET 2.0已經改成 code biside方式
我想 對於V & C的切割 應該能夠更好才是
※ 引述《sunflier (叮噹)》之銘言:
: ※ 引述《liunate (測試)》之銘言:
: : 我想到的是...你要不要用datagrid(or datalist)根據所取得的資料列"問題類型"
: : 的值來決定要動態新增哪些控制項?
: ㄜ~ 又回到問題原本了... 原本我就是想這樣子弄的 *_*
: 不過,等一下再來try看看好了,因為自己用.net都像在寫
: asp一樣的土法鍊鋼呀! 寫出來的程式自己都搖頭...
: ---------------------------------------
: 後來想想,若是用panel,再搭配panel.controls.add
: 再用for迴圈一個問題一個問題的放上去
: 並且每個control都在add之前先指定一個ID,以便在user
: post資料回來的時候能夠抓得到
: 請問這樣子可行嗎?
--
生物資訊研究室:每天都會更新文件,提供生物資訊教學,生物字典。
http://www.bioinformatic.idv.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.73.177
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 9 之 16 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章