2013-12-12 102 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代码使用(通常你会使用模型,这是一个特殊类的实例,用于保存所有表单数据)。此外,如果此答案对您有帮助,请将其作为我邮件左侧的正确答案进行检查。 –

相关问题