ASP.NET Aries 入門開發教程9:業務表單的開發

来源:http://www.cnblogs.com/cyq1162/archive/2016/11/21/6081996.html
-Advertisement-
Play Games

經過前面那麼多篇的列表的介紹,終於到了大伙期待的表單開發了,也是本系列的最後一篇文章了!認真研究框架的朋友已經發現,不管是前端還是後端,裡面都有很多可圈可點地方,框架在設計上,儘量保持做到著無入侵,完全覆蓋即升級的方法,框架在擴展上,都提供了各種手法,而且手法統一,本篇詳情如下: ...


前言:

經過前面那麼多篇的列表的介紹,終於到了大伙期待的表單開發了。

也是本系列的最後一篇文章了!

1:表單頁面的許可權設置與繼承

對於表單頁面,許可權的設置有兩種:

1:你可以選擇添加菜單(設置為不顯示)並配置許可權。

2:不設置許可權,繼承自父頁面。

因此,如果你單獨打開一個沒有單獨設置許可權的頁面,得到的效果就是:

2:簡單單表的開發Demo

1:新建ArticleEdit.html

html是從UserEdit.html Copy過來簡單調整的,畢竟為了統一樣式。

當然你也可以自定義樣式,那樣的話只要關註1、2、3的內容即可。

表單的內容為:

 <div class="line">
                         <div class="short">
                            <label><em>*</em>文章分類:</label>
                            <input name="CateID" objname="C_Demo_ArticleClass" defaultitem="false"  />
                        </div>
                        <div class="short">
                            <label>標題:</label>
                            <input name="Title" missingmessage="" class='easyui-validatebox'  />
                        </div>
                       
                        <div class="short">
                            <label>創建時間:</label>
                            <input name="CreateTime" class="easyui-datetimebox" style="width: 150px;" required="true" editable="false" />
                        </div>
                    </div>

然後就完事了,不需要寫事件。

效果:(按鈕沒居中的樣式問題就先忽略了)

2:原理流程解釋:

1:數據如何載入填充?

預設會從父頁面拿到objName和tableName,和傳過來的id參數傳到後端,調用Get方法拿回數據,並載入。

2:不用寫事件代碼?

框架預設集成了提交事件,預設會從父頁面拿到objName和tableName,和搜索表單的數據提交到後端,調用Add或Update處理數據。

3:框架如何識別是Add或Update?

在調用窗體打開的時候,已經指定了方法名。

4:下拉數據是怎麼出來的?

還記得大明湖胖的格式化麽?就是那個#配置項,或#C_XXX的。

只要對input新增屬性即可:

configkey="配置項"

objname="C_XX"

3:自定義表單事件

 1:讀取載入數據時,如何追加自定義參數到自己寫的後臺方法?

在載入表單事件之前,修改請求的方法名稱為GetMyBlog。

那GetMyBlog方法在哪裡定義?

ArticleEdit.html文件所在的文件夾名稱為Article,所以,定義一個:ArticleController

把處理後的Json結果交給jsonResult即可。

2:事件 - 表單提交的參數修改:

比如當你引入富文本編輯器如CKEditor或UEEditor等編輯器時,自動收集的表單是收不到它們的,所以需要動態的賦值。

formData 是已經收集好的表單數據,可以修改移除或追加。

3:事件 - 表單載入時的參數修改:

同樣對於富文本編輯器,系統的自動填充值也是處理不了的,需要動態的賦值。

4:其它信息補充:

1:已經介紹前端怎麼指定自定義方法名,後臺怎麼處理多表?

這是CYQ.Data操作資料庫的問題,具體可以看Github網址下的Demo教程鏈接:

https://github.com/cyq1162/cyqdata

也可以參考系統中的UserEdit.html,預設也是多表處理。

2:對於表單的內容,一個一個寫似乎有點複雜,框架有提供表單生成:

在列表頁面,通過配置表頭,生成表單html中,拿到數據,再調整即可。

好了,入門教程就寫到了這裡了,不准備發佈第10篇了。

寫一篇教程不容易,建Demo,F5跑、截圖,中間還思考怎麼改進代碼和使用方式。

所以剛剛還提交了源碼更新。

總結:

認真研究的朋友已經發現,不管是前端還是後端,裡面都有很多可圈可點地方。

框架在設計上,儘量保持做到著無入侵,完全覆蓋即升級的方法。

框架在擴展上,都提供了各種手法,而且手法統一。

你要的,都可以通過事件的擴展處理,不需要改動框架的任何源碼。

謝謝大伙的關註與支持,本系列到此結束!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我們工作到底為了什麼(這篇文章很重要) HP大中華區總裁孫振耀退休感言 : 如果這篇文章沒有分享給你,那是我的錯。 如果這篇文章分享給你了,你卻沒有讀,繼續走彎路的你不要怪我。 如果你看了這篇文章,只讀了一半你就說沒時間了,說明你已經是個“茫”人了。 如果你看完了,你覺得這篇文章只是講講大道理,說明 ...
  • 1、兩個練習題 1)編程實現46天,是幾周幾天 int days = 46; int weeks = days / 7; int day =days % 7; //Console.WriteLine(weeks); //Console.WriteLine(day); Console.WriteLin ...
  • 參數可以設置, codeproject上寫的。網址在這裡。 源碼里有demo,很詳細。 源碼在這裡。 ...
  • 先來展示下做到了什麼? 首先要導入一個文件夾下的所有文件,要不你怎麼操作呢?或者,如果本地有xml文檔,可以載入xml文檔內容。 圖片上的描述已經夠看了,我就不費事在這裡多寫些什麼了。 我又仔細的看了一下,貌似也不需要語言上解釋什麼了,唉,那就這樣吧。 昨天花了三四個小時做的,今天又簡單的修改了一下 ...
  • static void Main(string[] args) { Console.WriteLine(foo(30)); Console.ReadKey(); } public static int foo(int i) { if (i <= 0) { return 0; } else if (i ...
  • MVC 框架中自帶了 模型驗證框架 只需要在實體中添加驗證規則,然後就可以在控制器裡面驗證實體 實體代碼 控制器代碼 這樣的代碼寫過幾次之後就會發現 model驗證的代碼其實和 控制器關聯不大,而且判斷實體是否通過驗證代碼是重覆的.這個時候我們可以把代碼提取出來放到過濾器裡面 新建一個類繼承 Fil ...
  • 介紹 如果你已經開發完一個不錯的SSIS包並且能夠在你的本地完美的運行,每個任務都亮起綠色的通過標誌。這時為了能夠讓這個包處理能夠在指定時間運行,你需要將其發佈到一個伺服器上,並做好相關配置。作為開發人員可能我們不能直接在生產環境去做這個事情,這需要我們有一個開發或者測試環境來完成整個部署測試,因為 ...
  • 筆者看到mvc最近比較流行,而很多使用一些比較舊的的方法上傳圖片,再次安利一下百度的webuploader控制項吧 webuploader第一步要先下載一些插件這點可以在webuploader官網上下載。http://fex.baidu.com/webuploader/ 開始的時候第一步引用webup ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...