0

有人可以告诉我我是否走在正确的轨道上?我试图显示我的查询,但出现错误。我有两个具有相同参数的文本框,并且该参数被声明为 IEnumerable。

 [HttpPost]
        public ActionResult Orders1(IEnumerable<int> order)
        {
            using (CostcoEntities1 context = new CostcoEntities1())
            {
                var query = string.Empty;

                foreach (var orderID in order)
                {

                        query = (from a in context.CM_Checkout_Details
                                 where a.CheckoutDetails_ID == orderID
                                 select a).ToString();
                }
                return View(query);
            }
        }   

这就是我的控制器的样子。我正在尝试读取文本框中的两个数字(Id)并根据这些 id 显示数据。

@using (Html.BeginForm("Orders1", "Track", FormMethod.Post))
{
         @Html.TextBox("order")<br />
         @Html.TextBox("order")
        <input type="submit" value="Submit" />
}
4

1 回答 1

0

首先,更改文本框的名称,使它们不相同:

@using (Html.BeginForm("Orders1", "Track", FormMethod.Post))
{
         @Html.TextBox("order1")<br />
         @Html.TextBox("order2")
        <input type="submit" value="Submit" />
}

接下来,更改您的操作方法的签名:

[HttpPost]
public ActionResult Orders1(string order1, string order2)

例如,MVC 的模型绑定将尝试将 order1 和 order2 匹配到 Request.Form 中的内容,这应该获取文本框的值。

于 2012-12-14T17:44:07.500 回答