2012-08-16 13 views
0

我希望你能幫助我。MVC - 從JavaScript傳遞值到視圖渲染

我需要做以下,但我不知道它是否可能。

在我的看法我有一個函數接收一個參數。該值已經存在於texbox字段中,但我不知道如何將它發送給我的函數。

<% Permissions TV = new Permissions(); %>    
<%: Html.TreeViewAsUnorderedList(TV.GetPermissionsItems((int?)document.getElementById('txtPerfil').value ))%> 

<%: Html.TextBox("txtPerfil","" , new { disabled = "true", style = "width:20px", id = "txtPerfil" })%> 

問候,

回答

2

好吧,你有一個文本框,你想發送到服務器端(函數/動作)的值。

您應該有一個事件,您可以將該值發送到您的操作方法。事件可以是任何簡單的javascript事件,比如onBlur,onClick等......我留給你決定。

現在發送值的功能。在這裏,如果你不想要一個帖子發生,我假設你這樣做,你需要對你的動作進行ajax/json調用,並在這裏傳遞值。

示例代碼:從this article

採取JS/jQuery代碼

var url = '@Url.Action("GetData")'; 
$.ajax({ 
url: url, 
type: 'GET', 
cache: false, 
data: { value: strId}, 

success: function (result) { 
$('#result).html(result); 
    alert(result.foo + result.ball); 
} 
}); 

CSHARP代碼:動作方法(返回一個JSON)

public ActionResult GetData(string value) 
{ 
return Json(new {foo="bar", ball="dragon"}); 
} 

希望這有助於。

2

你的函數是一個服務器端的代碼,但是JavaScript是一種客戶端代碼,所以它是不可能以這種方式。如果你給我們更多的信息,我們給你建議如何做你需要的東西

+0

我正在用我的TreeViewAsUnorderedList函數構建一個html菜單。該函數接收和List <>作爲我的GetPermissionsItems函數的參數。但我的GetPermissionsItems函數收到一個int作爲參數。該int值取決於DropDownListFor的索引。但我不知道如何得到我DropDownListFor的價值,所以我把值與document.getElementByID('txtPerfil')。value = document.getElementById('myddl')。options [document.getElementById('myddl')) .selectedIndex]。價值;所以,這裏的事情是我不知道如何將這個值發送給我的函數。 – user1583743 2012-08-18 16:54:30