0

我有一个观点 -

@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 调用的情况下实现这一点?

4

3 回答 3

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)
{
    ...
}
于 2013-07-01T06:46:19.937 回答
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;
}

但是,如果它们是敏感的,我不可以在查询字符串中公开值

于 2013-07-01T06:59:50.967 回答
0

可以使用Javascript/Jquery AjaxForm

于 2013-07-01T06:44:53.403 回答