2013-12-12 173 views
0

我遇到了使用我創建的Table對象插入數據庫的問題。當使用Request.Form [「inputID」]時,它沒有將任何值帶入對象中所有的對象屬性都是NULL,但是當我逐步執行該程序時,在調試過程中發現了以下Request.Form信息。LINQ to SQL從html表格插入到數據庫中

  • 的Request.Form {ctl00%24MainContent%24custFullName =測試+測試& ctl00%24MainContent%24custPhoneNum = 555-555-555 & ctl00%24MainContent%24roadService =空+氣體+罐& ctl00%24MainContent% 24carYearDB = 2003 & ctl00%24MainContent%24carMakeDB = BMW & ctl00%24MainContent%24carModelDB = 3 +系列& submitQuote =得+報價} System.Collections.Specialized.NameValueCollection {} System.Web.HttpValueCollection

所有的值都被考慮到了,但我不明白他們爲什麼沒有被帶入數據庫。

我的形式標記如下:

<form action="Default.aspx" method="post" data-transition="pop"> 

我Default.aspx.cs如下:

if (Request.Form["custFullName"] != null || Request.Form["custFullName"] != "") 
      { 
       TowingDBDataContext db = new TowingDBDataContext(); 

        tbl_quoteRequest newQuoteRequest = new tbl_quoteRequest(); 
        newQuoteRequest.custName = Request.Form["custFullName"]; 
        newQuoteRequest.custPhone = Request.Form["custPhoneNum"]; 
        newQuoteRequest.custIssue = Request.Form["roadService"]; 
        newQuoteRequest.custYear = Request.Form["carYearDB"]; 
        newQuoteRequest.custMake = Request.Form["carMakeDB"]; 
        newQuoteRequest.custModel = Request.Form["carModelDB"]; 

        db.tbl_quoteRequests.InsertOnSubmit(newQuoteRequest); 
      } 

任何幫助或方向被理解。

+2

'db.tbl_quoteRequests.SubmitChanges();'? – Cynede

+0

只是爲了未來的觀衆使用它:'db.SubmitChanges();' –

回答

0

除了希瑟的評論,你的表單元素的名稱不是custFullNamectl00$MainContent$custFullName(等等,同所有其它的值)

newQuoteRequest.custName = Request.Form["ctl00$MainContent$custFullName"]; 
+0

工作就像一個魅力謝謝你,爲了將來的理解爲什麼它有時會允許你只使用標籤中的ID,但其他時間你使用'ctl00 $ MainContent $'? –

+0

這是因爲你使用了webforms,它決定了它自己使用哪些id和名稱(基於元素的父項來保證唯一性),並且並不真正被Request.Form代碼使用(通常你會使用模型,這是一個特殊類的實例,用於保存所有表單數據)。此外,如果此答案對您有幫助,請將其作爲我郵件左側的正確答案進行檢查。 –

相關問題