我正在使用一個調用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