1

我正在使用 MVC 构建电影应用程序。CRUD 是由 Visual Studio 自动为我创建的。现在,我正在尝试为用户构建搜索功能。这是我写的代码:

@using (Html.BeginForm("SearchIndex", "Movies", new {searchString = ??? }))
{
    <fieldset>
        <legend>Search</legend>

        <label>Title</label>
        <input type ="text" id="srchTitle" />
        <br /><br />
        <input type ="submit" value="Search" />
    </fieldset>    
}

我已经构建了SearchIndex方法和相关的视图。我只是找不到如何将在文本框中输入的值传递给 SearchIndex 操作方法。请帮忙。

4

2 回答 2

2

在您的模型中:

public class Search
{
 public String SearchText { get; set; }
}

使您的视图强类型化并使用

@Html.EditorFor(model => model.SearchText)

在您的控制器中:

[HttpPost]
public ActionResult SearchIndex(Search model)
{
 String text = model.SearchText;
}

希望这可以帮助。

于 2013-10-10T05:57:57.587 回答
2

您需要为输入字段命名:

<input type="text" id="srchTitle" name="movieToFind" /> 

然后在你的控制器中确保它有一个字符串参数:

在 MoviesController 中:

[System.Web.Mvc.HttpPost]
public ActionResult SearchIndex(string movieToFind)
{
    //Controller Action things.
}

注意:表单字段名称必须与控制器中预期的参数匹配。如果需要“模型”,则映射到模型属性。

于 2013-10-10T05:47:27.230 回答