2012-10-16 89 views
1

我想插入數據在表中使用LINQ到SQL和jQuery,但它的失敗,找不到原因。數據插入失敗,當試圖插入數據使用LINQ到SQL

這裏是我正在做的:

控制器:

[HttpPost] 
    public ActionResult SaveHours(string descType, string wrkType, decimal hours) 
    { 
     DataContext db = new DataContext(); 

     Project hrs = new Project(); 

     { 
      hrs.descType = descType; 
      hrs.wrkType = wrkType; 
      hrs.hours= (decimal)hours; 
     } 

     db.Project.InsertOnSubmit(hrs); 
     db.SubmitChanges(); 

     return Json(new { message = "Hours Saved" }); 
    } 

JQuery的:

$(function(){ 

$("#SaveHours").click(function (e) { 

    e.preventDefault(); 
    var link = '/Project/SaveHours'; 

    $.ajax({ 
     type: 'POST', 
     url: link, 
     data: { hours: $("#HoursWorked").val(), 
      descType: $("#Description").val(), 
      wrkType: $("#WorkType").val() 
     }, 
     dataType: 'json', 
     success: function (result) { 
      alert(result.message); 
     }, 
     error: function (result) { 
      alert("Failed"); 
     } 
    }); 

    }); 

查看:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<UI.Models.vwProject>>" %> 

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

    <div> 
    <table> 
    <tr> 
     <th> 
      Description 
     </th> 
     <td> 
      <input id="Description" type="text"/> 
     </td> 
    </tr> 
    <tr> 
     <th> 
      Work Type 
     </th> 
     <td> 
      <input id="WorkType" type="text"/> 
     </td> 
    </tr> 
    <tr> 
     <th> 
      Hours Worked 
     </th> 
     <td> 
      <input id="HoursWorked" type="text"/>    
     </td> 
    </tr> 
    <tr> 
     <td> 
      <button id="SaveHours" type="button" >Save</button> 
     </td>   
    </tr> 
    </table> 
</div> 

我失去了一些東西在這裏? 任何幫助,非常感謝。

編輯: 表腳本:

CREATE TABLE [Project] 
(
    ProjectKey  INT IDENTITY(1,1) NOT NULL, 
    descType  VARCHAR(100)  NULL, 
    wrkType   VARCHAR(10)   NULL, 
    hours   NUMERIC(5,2)  NULL 
) 
+0

什麼是你的項目表結構?什麼是由Linq-to-SQL引發的異常 –

+0

@RobertSlaney我已經使用表腳本更新了我的問題,並且有異常 – user793468

+0

jQuery發佈的數據中的元素順序是否基本?這是一個猜測,也許你的例外(我看不出)會證明我錯了。 –

回答

0

編輯在控制器:

... 
if (HttpContext.Request.IsAjaxRequest()) 
    { 
    return Json(new { message = "Hours Saved" }, JsonRequestBehavior.AllowGet); 
    } 
    ...