我有一個功能頁面傳送數據到頁面的WebMethodjQuery的AJAX後有文件上傳
[WebMethod()]
public static string sayHello(string pTest, string pText)
{
return pTest + " - " + pText;
}
我稱之爲使用這個jQuery
$(document).ready(function() {
$("#sayHelloButton").click(function (event) {
var name = $('#name').val();
var text = $('#text').val();
var dataString = JSON.stringify({
pTest: name,
pText: text
});
$.ajax({
type: "POST",
url: "page.aspx/sayHello",
contentType: "application/json; charset=utf-8",
data: dataString,
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed,
beforeSend: AjaxStart,
complete: AjaxEnd
});
});
});
但現在它也應該可以上傳文件在這裏我有點失落。
從我在這裏可以閱讀的不同帖子中,它是不可能的,但如果我錯了,請糾正我 - 但我已經看到幾個jQuery插件,使上傳成爲可能,例如,通過一個Flash腳本,但是如何才能通過一次點擊發布數據和上傳?有沒有人有任何建議,上傳插件是最好的 - 以及我如何成功上傳和張貼在一個動作?
請糾正我,如果我錯了,但如果我是你建議我用ASP.NET對只有1形式標記我想它提交了很多不相關的東西(如視圖狀態和元素,屬於頁面的另一部分)使得操作變慢,並且我不能像我的例子那樣使用特定參數來定位WebMethod? – keysersoze 2010-10-13 16:48:23
@keysersoze默認情況下,是的。我會嘗試從JavaScript創建一個隱藏的表單,並附上您的文件輸入(臨時)。但從來沒有解決這個問題,所以沒有保證。 – 2010-10-13 17:00:13