我有一个观点 -
@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 调用的情况下实现这一点?
我有一个观点 -
@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 调用的情况下实现这一点?
您将不得不使用 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)
{
...
}
控制器需要 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;
}
但是,如果它们是敏感的,我不可以在查询字符串中公开值
可以使用Javascript/Jquery Ajax或Form。