我有一个视图 -
@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 :(得分: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)
{
...
}
答案 1 :(得分:1)
Controller需要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;
}
但是,如果它们是敏感的
,我不会在查询字符串中公开值答案 2 :(得分:0)
可以使用 Javascript / Jquery Ajax 或表单。