2013-07-01 59 views
0

我有一個觀點 -如何在不使用Form的情況下在Controller中獲取View的textBox值?

@Html.TextBox("Text1","", new { style = "width:350px;" })<br /> 
<input type="submit" value="Pay" onclick="location.href='@Url.Action("Pay", "Test")'" /> 

其中Pay是我行動的結果和Test是我的控制器。 我想在控制器中有Text1的值。我可以通過使用Form而不是通過ajax調用來實現這個功能嗎?

+0

我不認爲這是可能的,而不'Form'敏感或沒有'java-script'。 –

回答

0

這是可能的使用Javascript/jquery Ajax表格

1

您必須使用javascript。通過給你的文本框的唯一標識符開始:

@Html.TextBox("Text1", "", new { id = "text1", style = "width:350px;" } 

然後在onclick處理程序,你可以通過在文本框中輸入到控制器動作值:

onclick="location.href='@Url.Action("Pay", "Test")?text=' + encodeURIComponent(document.getElementById('text1').value);" 

,現在你Pay控制器操作可能看起來像這樣:

public ActionResult Pay(string text) 
{ 
    ... 
} 
+0

如果我有更多數量的文本框可以怎麼樣?我可以使用Form,但爲什麼它沒有被解僱呢? – Sandy

+0

@ Sandy ..提供您的更新代碼,看看有什麼不對。 – Olrac

+0

@Darin,thanx爲您提供支持。我最終使用Form。 – Sandy

1

控制器期望HTTP動詞例如POST,GET等。POST需要<form />,而GET需要查詢字符串。您可以使用查詢字符串來傳遞自己的價值觀

function sendValues() 
{ 
    var value1 = document.getElementById('txtfirstname').value; 
    var value2 = document.getElementById('txtlastname').value; 

    var url = 'http://mysite.com/controllername/?firstname='+value1+'&lastname='+lastname; 

    location.href = url; 
} 

不過,我不這樣它的確定在查詢字符串暴露值,如果他們是

相關問題