2012-01-13 31 views
0

這個代碼顯示一個HTML文本框一個jQuery對話框,其上一個asp用戶點擊後示出對話框中的新按鈕我想從文本框中獲取名稱,並在我的代碼中使用它,並在asp新按鈕單擊事件後面使用它。通行證的html文本框的值後面

回答

1

我不太確定這是你在找什麼,但你把名字值傳遞給服務器端Web方法。通過在New按鈕的函數中使用Jquery的Ajax。

在頁面背後的代碼在服務器端可以通過添加一個

using System.Web.Services; 

到你的頁面的頂部,然後建立在你的代碼的Web方法的背後是這樣

[WebMethod] 
public static void DoSomething(object name) 
{ 
    //do something intersting 
} 
創建Web方法

AJAX調用將取代

$(this).dialog('close'); 

那你現在在你的氖w按鈕點擊這樣的事件。

var valFromNameBox = $("#name").val(); 
var jsonObj = '{name: "' + valFromNameBox + '"}'; 
var res; 
$.ajax({ 
    type: 'POST', 
    contentType: 'application/json; charset=utf-8', 
    data: jsonObj, 
    dataType: 'json', 
    url: 'YourPage.aspx/DoSomething', 
    success: function (result) { 
    }, 
    error: function (err) { 
     alert(err.toString()); 
    } 
}); 

}

+0

也會試試這個 – 2012-01-14 01:47:55

+0

不能得到這個工作繼續得到500錯誤 – 2012-01-15 18:22:58

+0

得到它的工作謝謝 – 2012-01-15 22:52:37

0

因爲已經準備好了一個輸入控件,並且你發了一篇文章,通常你可以通過使用Request.Form來獲取這個值,在你的情況下這個參數可以獲得你的代碼值。

Request.Form["Name"] 

一個注意,從對話中刪除<form></form>,因爲你違反了asp.net的形式,可能無法正常工作。

var $dialog = $('<div><fieldset><label for="name">Name</label> 
<input type="text" name="Name" id="name" 
    class="text ui-widget-content ui-corner-all" /></fieldset></div>') 
+0

好的,除去形式中,當我嘗試訪問的Request.Form [ 「名稱」]的值爲空。 – 2012-01-14 00:42:49

+0

@JohnDoe然後不在asp.net的窗體內呈現。確保你在那裏渲染它。 – Aristos 2012-01-14 01:02:12

+0

現在它的一個彈出對話框如何在asps窗體中渲染它? – 2012-01-14 01:47:20