我的网页同时从客户那里获取列表我希望显示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();
}
}
}
答案 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);