如何从我的View Model访问文本框?我的页面正在返回订单号列表,我希望在页面顶部有一个搜索文本框。但是,似乎我只能从foreach语句访问文本框。从IENumerable View的ViewModel访问TextBox
简单视图模型
public class ViewOrdersByCustomerIDViewModel
{
[Display(Name="Order Number/Order ID")]
public int OrderID { get; set; }
[DisplayName("Product Name")]
public string ProductName { get; set; }
[DisplayName("Order Date")]
public DateTime ?OrderDate { get; set; }
public string txtBoxOrderNumber { get; set; }
}
我觉得像这样的工作,但显然是不...
@model IEnumerable<something.something.ViewOrdersByCustomerIDViewModel>
@using (Html.BeginForm("OrderNumberSearch", "Order", FormMethod.Post))
{
<strong>Enter Order Number/Order ID</strong>
@Html.TextBoxFor(m=>m.txtBoxOrderNumber)
<input type="submit" name="submit" value="Go" />
}
任何帮助,将不胜感激。
谢谢!
EDIT
文本框的目的是过滤/搜索所显示的顺序的数字。我只需要一个文本框,并且不希望通过创建多个搜索框来循环。如果我的逻辑关闭,并有更好的方法来完成这一点,请让我知道。我只是认为在模型中拥有所有属性会更清洁,但情况可能并非如此。
作为你的模型是'IEnumerable',你需要遍历这一点,使用TextBoxFor获得文本框。 – ramiramilu 2015-02-23 11:50:10
你为什么要在模型中使用它?如果你想搜索,你可以在你的控制器操作中使用它并将其用于搜索。请更新你真正想要做的事情。 – BabyDuck 2015-02-23 11:50:51
不清楚你想要做什么。该表单的目的是获得与“OrderNumber”相匹配的过滤订单清单吗? – 2015-02-23 11:50:52