将文本框值从View传递给操作,而不使用Html.begin表单和Submit按钮

时间:2015-06-03 10:24:33

标签: asp.net-mvc-4

我创建了一个texbox。当用户在文本框中输入一些输入并单击下面的actionlink时,文本框的值将传递给控制器​​中的actionResult(FWMenu)。我不能在视图中使用html.begin表单和提交按钮。我甚至无法在我的控制器中使用[httppost]。 这样可能吗?如果是,那么请帮助我。 我没有在模型中使用任何类。

以下是我的控制器。

public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult FWMenu(string username)
        {
            return View();
        }

    }

这是我的观点。

<div>
    @Html.TextBox("txtUserName")
    @Html.ActionLink("Login", "FWMenu", new { username = @Html.TextBox("txtUserName") })
</div>

1 个答案:

答案 0 :(得分:0)

您需要使用javascript / jquery来构建网址和重定向。根据您提到的评论,您想要使用图片而不是按钮或链接,并且您将拥有多个项目,因此假设您是html

<div>
  <input type="text" name="username">
  <img class="submit scr=....>
<div>

<script>
  var urlBase='@Url.Action("FWMenu");
  $('.submit').click(function() {
    var userName = $(this).prev('input').val();
    location.href = urlBase + '/' + userName;
  }
</script>

旁注:使用@Html.TextBox("txtUserName")没有实际意义,如果您有多个此实例,则会生成无效的html(重复id属性),并且无论如何参数的名称为{{1所以它需要是@ Html.TextBox(“username”)`