我正在使用一个调用JavaScript的Web方法的VB.Net页面,这是工作到一个星期前,现在由于某种原因不起作用。我想知道是否有人可以给我任何想法,因为我现在完全失去了知觉。Web方法不被调用
首先我的网页生成的项目列表,可以点击,这是否是该行:
TicketHTML = TicketHTML + "<td><img src='../images/delete.png' Class='imgTicketClose' alt='Delete Task' onclick='DeleteTicket(" + row("id").ToString() + ")' /></td></tr>"
我知道这是工作为被点击的项目时,我得到一个JavaScript弹出,所以我会假设问题不在这里。
现在我的javascript:
function DeleteTicket(ticketID)
{
var answer = confirm("Do you really want to delete this task?")
if (answer)
{
PageMethods.DeleteTask(ticketID);
window.location.reload()
}
}
我认为问题就在这里为Web方法似乎从来没有调用和页面似乎并不重装下去,但我不明白为什么这会如果JavaScript,以失败显示确认对话框。
为了完整起见,这里是我的web方法,虽然我知道这不是因为我已经对数据库进行概要分析而被调用。
<System.Web.Services.WebMethod()>
Public Shared Sub DeleteTask(ticketID As Integer)
Dim conn As New SqlConnection(ConfigurationManager.ConnectionStrings("Blueprint").ToString())
Dim cmd As New SqlCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "spDeleteNonTicketItem"
cmd.Parameters.AddWithValue("@ItemID", ticketID)
cmd.Connection = conn
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
End Sub
那么我可以看看?任何建议将不胜感激。谢谢
编辑:web.config文件中的任何东西都可以防止页面方法执行? 我刚刚注意到这发生了一个完全独立的Web方法,并检查整数传递到javascript与警报(),他们都是有效的
你可以在javascript中执行VB函数吗? :O – 2011-12-14 14:35:10
@Shvelo yep:DI有这个工作一阵子,但不知道为什么它不工作了 – Purplegoldfish 2011-12-14 14:36:41
在C#中,你需要将你的方法标记为[WebMethod],不知道VB – Erix 2011-12-14 14:36:57