【发布时间】:2017-06-16 08:51:29
【问题描述】:
我有一个控制器创建并返回触发警报的内容。 它加载一个空页面的问题。我怎样才能防止它加载一个空页面并停留在当前视图中并且什么都不做,只是弹出警报。
我真正想要的是在用户创建新数据之前,它会首先验证diseaseID 是否已经存在于特定的assessmentID,当结果为空时,它只会弹出一个警报并执行没有。但在这里我只是想让alert() 正常工作。
控制器:
public ActionResult CreateDisease(int? diseaseID,int? assessmentID, DiseaseList diseaselist)
{
diseaselist.DiseaseID = diseaseID;
diseaselist.AssessmentID = assessmentID;
db.DiseaseLists.Add(diseaselist);
db.SaveChanges();
return Content("<script language='javascript' type='text/javascript'>alert('Item already exist');</script>");
}
【问题讨论】:
-
您可以将消息包装在
ViewBag或视图模型中,然后如果消息存在,则在客户端代码中使用alert和JS。 -
@TetsuyaYamamoto 我编辑了内容。
-
与其在 GET 方法中返回
Content,不如尝试使用return View("Disease")来显示相同的视图。客户端验证可以使用带有DiseaseID作为参数的 AJAX 进行处理,将其传递给控制器操作,如果存在则返回验证消息。
标签: asp.net-mvc