我如何能张贴一个字符串从视图到控制器在ASP.asp.net MVC 5

本文关键字:控制器 视图 ASP asp MVC net 字符串 何能张 一个 | 更新日期: 2023-09-27 18:16:50

. net mvc 5,并有一个视图"搜索。cshtml",控制器"HomeController"和模型"user"。

我尝试从Active Directory中创建一个DataTable,并将其显示在视图中的表中。

我可以在视图中显示表,但我想实现一个搜索文本字段,用于选择该表中的值。

为此,我创建了一个用于测试的方法,并在我的控制器中设置了该方法:

public ActionResult Search(string searchString){
    var data = GetTable(searchstring);
    return View(data);
}
static DataTable GetTable(string data){
   //...here i get data from the active Directory and filter with data parameter
}

这是我的View

<h2>Suchen</h2>
@using(HTML.BeginForm()){
   @Html.TextBox("SearchString") 
   <input type="submit" value="Suchen">
   <table>
     <thead>
       <tr>
         @foreach(DataColumn col in MOdel.Columns){
                     <th>@col.ColumnName</th>
         }
       </tr>
     </thead>
     <tbody>
      @foreach(DataRow col in Model.Rows){
         <tr>
           @foreach(DataColumn col in Model.Columns){
            <td>@row[col.columnName]</td>
           }
         </tr>
       }
     </tbody>
   </table>
}

如何我可以发布我的搜索字符串到我的控制器,然后我知道我必须做什么;)

我如何能张贴一个字符串从视图到控制器在ASP.asp.net MVC 5

只需在BeginForm方法中指定动作和控制器名称:

@using(Html.BeginForm("Search", "Home")){

我也相信参数名称是区分大小写的,所以要确保文本框名称对应的动作参数:

@Html.TextBox("searchString")

假设你没有任何特殊的路由设置,这应该做到了——当用户点击提交按钮时,"搜索"动作应该被触发。