用户输入PWS(公共供水系统),LabID。然后单击“保存”按钮 我希望这些值能够填充新的输入表单,现在可以在成功保存时清空。
RGB_565
Controller ActionResult 第一次通过:
@Html.TextBoxFor(model => model.PWS, new { @autofocus = "autofocus", @style="width:50px", @maxlength="5" })
单击“保存”按钮时:
[HttpGet]
public ActionResult AddColiform(string sortorder)
{
int batchid;
batchid = Convert.ToInt32(Session["ThisBatch"]);
//Session["ThisBatch"] = batchid;
ViewBag.Methods = FillMethods();
ViewBag.Latest = (from m in _db.BactiBucket
where m.Batch_ID == batchid
select m).ToList();
ViewBag.ThisBatch = batchid;
return View(new BactiBucket());
}
答案 0 :(得分:0)
好的,如果它是一条蛇,它会让我感到痛苦。
在ActionResult的声明中,我将文本框的值传递给控制器。它带有Post动作。 (PWS和LabID是输入的名称)。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult AddColiform(BactiBucket bucket, string PWS, string LabID)
然后在返回RedirectToAction之前(" AddColiform");
我为每个值设置了Session变量: 会话[" PWS&#34] = PWS; 会话["拉比德&#34] =拉比德;
当然我可以使用ViewBag.PWS和ViewBag.LabID
然后,当返回并构建新的“添加记录”表单时, 我恭敬地填充每个文本框的@Value:
@Html.TextBoxFor(model => model.PWS, new {@Value=Session["PWS"], @autofocus = "autofocus", @style="width:50px", @maxlength="5" })
@Html.TextBoxFor(model => model.LabID, new {@Value=Session["LabID"], @style="width:150px", @maxlength="20" })
由于我没有运行此代码,我知道我必须检查Session对象是否为空。或ViewBag对象。或者将它们设置为""第一次通过。
得到的答案 1 :(得分:0)
您可以在重定向中将其他参数传递给GET方法,并使用这些值来设置模型的属性(请注意,当您从未使用过时,不清楚为什么您的方法有参数string sortorder
)< / p>
[HttpGet]
public ActionResult AddColiform(string sortorder, string PWS, string LabID)
{
....
BactiBucket model = new BactiBucket() { PWS = PWS, LabID = LabID };
return View(model);
}
[HttpPost]
public ActionResult AddColiform(BactiBucket bucket)
{
if (ModelState.IsValid)
{
....
return RedirectToAction("AddColiform", new { PWS = bucket.PWS, LabID = bucket.LabID });
}
....
}