如何将值从ascx页面传递到控制器

时间:2011-03-22 17:35:06

标签: jquery asp.net asp.net-mvc

如何将ascx页面中的值包含[3个文本框]到控制器

2 个答案:

答案 0 :(得分:1)

您可以使用HTML <form>。例如:

<% using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "myForm" })) { %>
    <input type="text" name="foo" />
    <input type="text" name="bar" />
    <input type="text" name="baz" />
    <input type="submit" value="go go" />
<% } %>

然后AJAXify这个表单:

$(function() {
   $('#myForm').submit(function() {
       $.ajax({
           url: this.action,
           type: this.method,
           data: $(this).serialize(),
           success: function(result) {
               alert(result.message);
           }
       });
       return false;
   });
});

然后有一个控制器动作来处理提交:

[HttpPost]
public ActionResult Index(string foo, string bar, string baz)
{
    // TODO: process something ...
    return Json(new { message = "Thanks for submitting" });
}

此外,如果您想使用普通链接而不是使用提交按钮<form>,请不要忘记查看your previous question

答案 1 :(得分:0)

这实际上是非常基本的HTML表单类型:

在HTML中:

<form action="/Route/To/Your/Controller/Action" method="post">
    <input type="text" name="yourKeyName" />
</form>

通过JQuery:

$.ajax({
   type: 'POST',
   url: '/Route/To/Your/Controller/Action',
   data:
   {
       yourKeyName: $('#yourInputElement').val()
   },
   success: function(data)
   {
       // Do Stuff on success
   }
});