簡體   English   中英

ASP.NET 問題中的動態控制

[英]Dynamic Controls in ASP.NET Issue

我在 asp.net 中進行動態控制,到了我可以 go 無處可去的地步。 我正在為員工的 201 文件創建一個頁面,我希望該頁面變得動態並且控件將來自數據庫。 有一個單獨的系統用於構建控件並設置其屬性。 這里的任何人都可以給我一些建議,如何做到這一點,數據庫結構是什么以及要考慮的事情是什么。 TIA。

伙計們,這是我的動態控件數據庫的當前設計:

Table Name : UM_WebObjectCategories
Columns:
    WebObjectCategoryID bigint
    ParentID bigint
    IsParent bit
    WebObjectCategory varchar

Table Name : UM_WebObjectHRIS201FileAccess
Columns:
    WebObjectHRIS201FileAccessID bigint
    HRIS201FileAccessID bigint
    WebObjectID bigint

Table Name : UM_WebObjectObjectsProperties
Columns :
    WebObjectObjectsPropertiesID bigint
    WebObjectID bigint
    WebObjectPropertyID bigint
    StringValue varchar
    BooleanValue bit
    IntValue int
    LongValue bigint

Table Name : UM_WebObjectProperties
Columns :
    WebObjectPropertyID bigint
    WebObjectProperty varchar
    ValueType varchar

Table Name : UM_WebObjects
Columns :
    WebObjectID bigint
    WebObjectName varchar
    WebObjectTypeID bigint
    WebObjectCategoryID bigint

Table Name : UM_WebObjectTypes
Columns : 
    WebObjectTypeID bigint
    WebObjectType varchar

Table Name : UM_HRIS201Access
Columns :
    HRIS201AccessID bigint
    HRIS201Access varchar

希望你能幫助我做出決定。 謝謝。

我知道這很舊,但我已經構建了這樣一組可以從數據庫生成的“動態控件”。 希望這對以后遇到這篇文章的人有所幫助。 這些控件使用 .NET 的 Provider model,因此可以接受任何數據源。

https://github.com/tenshino/RainstormStudios/tree/master/RainstormStudios.Web/UI/WebControls/DynamicForms

基本提供程序類是同一個 repo 的一部分,可以在這里找到:

https://github.com/tenshino/RainstormStudios/blob/master/RainstormStudios.Web/Providers/DynamicFormProvider.cs

我為我的公司做過類似的事情。 就像提到的 devcoder 一樣,你真的應該找一個高級程序員。 如果你不知道從哪里開始,你很有可能會遇到很多問題。

這里有一些提示,以防您/或其他任何人需要創建類似的系統。

  • 數據庫
    • 表格來保存頁面的布局
    • 表格來保存頁面的問題
    • 查找表以保存問題類型
    • 存儲答案的表
  • web側
    • map 特定控件的問題類型(用戶控件也可以)
    • 如果您使用用戶控件,請確保先在頁面上注冊它們
    • 每次回發都需要重新創建動態控件
    • 在初始化 state 上創建它們,以便它們可以與視圖 state 一起使用(只有在根本不回發或使用 AJAX 或視圖加載/擁有自己的模式時才能打破此規則)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM