使用EF将值从视图传递到ASP.Net MVC3 Razor中的Controller

时间:2014-01-21 08:24:29

标签: asp.net-mvc-3 razor

在我的ASP.Net MVC3 Razor项目中,我必须实现Search Customer个人资料。当我输入客户名称并单击按钮Search时,相应的客户数据将列在普通表中。这是我期望的。

目前这就是我所拥有的

我有一个带有按钮的文本框放在名为SearchCustomer.cshtml的视图中,它与名为“SearchCustomer”的控制器关联,结果数据显示在另一个名为ViewCutomerData的视图和控制器中与此相关的是ViewCutomerData

我的问题

当我点击带有名称的搜索按钮时,它没有传递给控制器​​,所以第二个控制器只显示空白表。

问题

      
  • 如何将值从这样的视图页面传递给控制器​​?
  •   
  • 我们可以使用单个Action搜索数据并在表格中显示结果吗?


控制器代码

        public ActionResult SearchCustomer()
        {
            return View();
        }


        public ActionResult ViewCutomerData(string  cusmodel)
        {
            var data = from c in cus.CusModelData
                       where c.Name.Contains(cusmodel)
                       select c;

            return View(data.ToList());
        }

搜索客户

@using (Html.BeginForm("ViewCutomerData", "Home", FormMethod.Post))
 {
     <div class="form-group">
         <label class="col-lg-2 control-label">Enter Customer Name</label>
         <div class="col-lg-10">@Html.TextBoxFor(model => model.Name)@Html.ValidationMessageFor(model => model.Name, "", new { @class = "ErrorMessagetext" })</div>
     </div>

     <table>
         <tr>
             <td><input type="submit" class="btn btn-success" value="Search" /></td>
         </tr>
     </table>

1 个答案:

答案 0 :(得分:0)

而不是传递单string。您可以将整个model传递给controller action,然后在property name

中使用model
public ActionResult ViewCutomerData(CusModel cusmodel)
        {

            var data = from c in cus.CusModelData
                       where c.Name.Contains(cusmodel.Name)
                       select c;

            return View(data.ToList());


        }