我有这个jQuery代码,它从表单提交和循环运行,将一定数量的记录插入到SQL表中。代码的ajax部分在名为Helpers.vbhtml的webmatrix页面中调用VB函数
function InsertSheeter()
{
var textDate = $('#textDate').val()
var Workorder = $('#textWorkorder').val()
var Material = $('#dropdownMaterial').val()
var Shift = $('#dropdownShift').val()
var Sheeter = $('#dropdownSheeter').val()
var FoilNum1 = $('#textFoilNum1').val()
var FoilNum2 = $('#textFoilNum2').val()
var FoilNum3 = $('#textFoilNum3').val()
var Printline = $('#dropdownPrintline').val()
var Section = $('#dropdownSection').val()
var Comments = $('#textComments').val()
var Employee = $('#dropdownEmployees').val()
var a = 0
while (a < Section)
{
switch (a)
{
case 0:
blockSection = "1"
break;
case 1:
blockSection = "2"
break;
case 2:
blockSection = "3"
break;
}
var str = {pDate: textDate, pSheeter: Sheeter, pShift: Shift,
pEmployee: Employee, pWorkorder: Workorder, pBlockSection: blockSection,
pComments: Comments, pFoilNum1: FoilNum1, pFoilNum2: FoilNum2,
pFoilNum3: FoilNum3, pPrintline: Printline, pMaterial: Material}
$.ajax(
{
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Helpers.vbhtml/InsertSheeter",
data: JSON.stringify(str),
dataType: "json",
success: function(data)
{
OpenReports(Workorder, data.d)
},
error: function (xhr, errorType, exception) {
var errorMessage = exception || xhr.statusText;
alert(errorMessage);
}
});
a++;
}
}
这是被调用的VB.NET函数:
我是根据我对文档的理解创建的,这是一个使用App_Code目录中的vbhtml页面的web服务。这是我之前在本文中引用的vb代码InsertSheeter的片段。
@Imports Microsoft.VisualBasic
@Imports System
@Imports System.Web
@Imports System.Web.Services
@Imports System.Xml.Serialization
@Functions
<System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)>
<WebMethod>
Public Shared Function InsertSheeter(ByVal pDate As DateTime, ByVal pSheeter As String, ByVal pShift As String,
ByVal pEmployee As String, ByVal pWorkorder As String,
ByVal pBlockSection As String, ByVal pComments As String, ByVal pFoilNum1 As String,
ByVal pFoilNum2 As String, ByVal pFoilNum3 As String, ByVal pPrintline As String,
ByVal pMaterial As String) As String
Dim db As Database
db = Database.Open("Nomex")
Dim strQuery As String
Dim pBlockNumber As String
pBlockNumber = GetBlockNumber(pBlockSection, pWorkorder, pSheeter, pMaterial)
strQuery = "INSERT INTO dbo.NomexSheeter (SheeterDate, Sheeter, Shift, Employee, WorkOrder, BlockNumber, BlockSection, " _
& "Comments, FoilNum_1, FoilNum_2, FoilNum_3, PrintLine, Material) " _
& "VALUES (@0, @1, @2, @3, @4, " _
& "@5, @6, @7, @8, @9, @10, @11, @12)"
db.Execute(strQuery, pDate, pSheeter, pShift, pEmployee, pWorkorder, pBlockNumber, pBlockSection,
pComments, pFoilNum1, pFoilNum2, pFoilNum3, pPrintline, pMaterial)
db.Close
Return pBlockNumber
End Function
End Functions
在调用jQuery函数InsertSheeter()之后,我仍然得到404 Forbidden错误。我不明白我做错了什么。 Webmatrix文档和在线帖子似乎支持这一想法。