如何让用户输入的数据从视图到控制器,然后插入到数据库中,在 MVC 中?

How to get the user entered data from view to controller and then insert into database, in MVC?

我是初学者,目前为了学习目的开始了一个小项目。一个迷你数据库搜索门户。我创建了前端视图。它有一个搜索框和一个按钮。现在我需要的是,我必须从数据库中获取数据,这些数据与用户在单击按钮时输入的搜索词相关。

如何继续将用户输入的数据从视图获取到控制器并对其进行处理以供进一步操作。

通用代码:

查看:

@using(Html.BeginForm("Search","Test"))
{
  <input type="text" name="txtName"/>
  <input type="submit" value="Generate report" />
}

控制器

[HTTPPost]
public ActionResult Seacrh(FormCollection form) // "Search" is action name specified in view for controller "TestController"
{
    string text = form["txtName"]; // txtName is name of input in view.
}

但是要充分利用 MVC 看看 Model Binding in MVC

我推荐阅读这篇文章article,它有一个添加搜索的不同方式的示例。

您可以按如下方式更新 Controller 和 View 中的 Index 方法:

1)向视图添加一个表单,该表单将post添加到视图本身 查看

@using (Html.BeginForm()){    
     <p> Title: @Html.TextBox("SearchString") <br />   
     <input type="submit" value="Filter" /></p> 
    } 

2)在Index方法中添加一个参数,根据传递的参数过滤内容。 public ActionResult Index(string searchString)

控制器

var movies = from m in db.Movies 
              select m;

if (!String.IsNullOrEmpty(searchString)) 
{ 
    movies = movies.Where(s => s.Title.Contains(searchString)); 
}

return View(movies);