从视图上的文本框将值作为参数发送到控制器中使用ASP.NET MVC的操作

问题描述:

我有一个Index视图 - 这个视图上的所有内容都是一个文本框和一个提交按钮。当用户提交表单时,我希望在文本框中的值转到我在我的Form操作中指定的控制器。下面的代码为我Index观点:从视图上的文本框将值作为参数发送到控制器中使用ASP.NET MVC的操作

@using (Html.BeginForm("MovieDetails", "Home", FormMethod.Post)) 
{ 
    <input type="text" class="typeahead-devs" id="movieName" /> 
    <input type="submit" value="Create" name="Submit" /> 
} 

当我点击提交,它需要我的行动MovieDetails

[HttpPost] 
     public ActionResult MovieDetails(string movieName) 
     { 
      response = client.GetAsync(string.Format("api/sixfilm?movieName={0}", movieName)).Result; 
      if (response.IsSuccessStatusCode) 
      { 
       var actors = response.Content.ReadAsAsync<IEnumerable<Actor>>().Result; 
       return View(actors); 
      } 
      else 
      { 
       return RedirectToAction("Index"); 
      } 
     } 

但是,movieNamenull。任何想法为什么movieName为空,我如何发送文本框的值到一个动作?

+0

甜,另一种原因不明的downvote。当你不告诉我我做错了/应该把/ etc放在哪里时,这会让你感到沮丧。 –

+0

+1为好问题 –

+0

:)谢谢...... –

您没有为您的文本输入命名。更改

<input type="text" class="typeahead-devs" id="movieName" /> 

<input type="text" class="typeahead-devs" id="movieName" name="movieName" /> 
+0

这很有效。谢谢。 –