更改网格项的值

时间:2011-12-06 17:12:23

标签: asp.net-mvc asp.net-mvc-3 razor

我有桌子:

enter image description here

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Add</legend>
        <br />
        @{ 
    var grid = new WebGrid(ViewBag.produkty,null, "names", 5);
              }
@grid.GetHtml(
        tableStyle: "grid",
        headerStyle: "head",
        alternatingRowStyle: "alt",
        columns: grid.Columns(
          grid.Column("name"),
           grid.Column("value"),
           grid.Column(header: "Add", format: (item) =>
                        new HtmlString(
                                Html.TextBoxFor(model => model.add).ToString())),
           grid.Column( header: "Ok", format: (item) =>
                new HtmlString(
                        Html.ActionLink("OK", "add_method", new { ID_name = item.ID_name }).ToString()))         

            )
        )


    </fieldset>
}

控制器:

    public ActionResult use()
            {
                var nam = (from d in baza.Names
                            select new { d.ID_name, d.name, d.value}).ToList();



                ViewBag.names= nam;
                return View();
            }

   public ActionResult add_method(int ID_name, useModel use)
            {
                Use us = new Use();
                var dat = DateTime.Today;

                us.value = use.add;
                us.ID_Name= ID_name;
                us.data = dat;

                baza.Zuzycies.InsertOnSubmit(us);
                baza.SubmitChanges();

                return RedirectToAction("use", "Product");
            }

型号:

public class useModel
    {
        public int ID_name{ get; set; }
        public decimal value{get;set;}
        public string date { get; set; }

    }

所以,我在页面上有产品清单。我想在TextBox中添加一个值(产品数量),然后在文本框旁按一下ActionLink“确定”。如何在add_method中获取产品数量?或者如何在每个产品旁边插入提交按钮(而不是ActionLink“OK”),那么就应该使用POST方法......

1 个答案:

答案 0 :(得分:0)

您可以使用具有内置编辑功能的网格组件(例如telerik Grid) 我认为最好对你的场景使用ajax而不是reagular post请求。

或者您可以使用jquery对服务器执行ajax调用,只需将参数发送到控制器即可。