2009-08-21 181 views
-1

我一直負責更新整個站點的聯繫和反饋表單。不太確定有多少表格,但至少有20種表格在不斷增加。我知道,一旦這個到位,它會在那裏一段時間。另外,負責添加新表單的人員沒有太多的代碼體驗,因此我試圖儘可能方便地創建新表單。ASP.NET表單開發建議

我的目標是創建一個基類,允許人

  1. 呼叫的通用形式
  2. 添加變量,將增加任何預設場以定製表單
  3. 添加一些簡單的值,作爲誰應該通過電子郵件發送,以及用於營銷目的的表單名稱是什麼。

數據庫表已經創建,並且具有窗體可能具有的所有可能的值。

這是我的第一個真正的項目與ASP.NET但不是我的第一個項目。我已經使用了PHP Zend Framework幾年,並在此之前使用了很多經典的ASP。

任何指針,非常感謝。我知道我對我的第一個ASP.NET項目很感興趣!

回答

0

主窗體設置(除了實際字段中顯示)可以像屬性:

BrowserTitle

OnScreenTitle

EmailAddresses(例如逗號分隔)

說明(上述表單字段)

謝謝/確認消息(發送後)

的情況下SaveToDatabase標誌某些形式不需要被保存(如果你保持一個DB複印件)

添加某種CAPTCHA的(這裏是一個非圖像實現良好〔實施例:Practical non-image based CAPTCHA approaches?

2

設置用戶控件來處理反饋表單的表單域,以便您可以在不同的頁面上重複使用它。

要配置的控制,你可以在控制類中添加公共屬性,例如像:

public string SendFeedbackTo { get; set; } 
public bool ShowCaptcha { get; set; } 

然後你可以設置從標籤的屬性,包括用戶控制:

<uc1:FeedbackForm runat="server" SendFeedbackTo="[email protected]" ShowCaptcha="true" /> 

您現在可以在用戶控件中的事件處理程序中使用屬性值。

+0

同意,你也可以創建一個屬性與表單對象的類型:公共EnquiryForm FormSettings {獲得;組; }由您的控件使用。 – 2009-08-21 17:16:55

-1

調查ASP.NET MVC以簡化窗體的開發和維護。 他們會更容易理解和理解,並且測試它們將會......嗯,比常規ASP更微不足道。NET

您還應該考慮使用簡單的YAML或XML文件來描述新手用戶的表單並解析該描述,而不是將太複雜的邏輯嵌入您自己的代碼中。

例如,見馬丁的福勒斯WIP在DSL - the example with the state machine