Ispostback在MVC 4 ASP.Net Razor中表现出色

时间:2014-10-14 15:14:59

标签: asp.net asp.net-mvc asp.net-mvc-4

我的网页同时从客户那里获取列表我希望显示temp_data中的所有记录。问题是我必须为表提供相同的ID,以便我可以根据ID获取数据。所以请在MVC中讲述类似Ispostback(webforms)的内容

我想保留id变量以提供相同的ID,但它会在每个帖子上发生变化。请帮帮我

{

    RMS_DataContext db = new RMS_DataContext();
    Order cls_order = new Order();
    string id = Guid.NewGuid().ToString();

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

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

        [HttpPost]
        public ActionResult Create(FormCollection form, string btn_orders)
        { 

            switch (btn_orders)
            {       
                case "btn_temp":
                    Item item = new Item();

                    var ItemId = form["_OrderId1"];
                    item = db.Items.FirstOrDefault( x=> x.ItemId==ItemId );
                    cls_order.Add_Temp(id, item, Convert.ToInt32(form["quantity"].ToString())); 

                    return View();
                    break;

                    default:
                    return View();
            }
        }

}

1 个答案:

答案 0 :(得分:1)

您在控制器中创建一个单独的操作来处理POST操作,这实际上是一个" Postback"来自webforms。然后,您将处理POST中您将在回发中处理的任何项目。

如果您正在处理验证,请务必检查ModelState.IsValid并将您的模型再次返回到View,然后再显示验证错误

public ActionResult Edit()
{
   var model = new EditModel() { Id=Guid.NewGuid() };
   return View(model);
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(EditModel model) 
{
   if (ModelState.IsValid) {
      // do stuff when valid
      return RedirectToAction("Index"); //or whatever when you're done saving, etc...
   }

   return View(model);
}

在您的视图中:

@Html.HiddenFor(x=>x.Id);