我想在文本框中输入内容之后立即检查,如果我的数据库中存在记录。我设法返回我在数据库中存在多少次记录的页码,但我想返回一条消息(如果存在或不存在)。
所以,问题是:如果记录存在与否,我如何显示消息?
PS。我正在使用ASP.NET MVC
这是我的代码:
模特课:
public class AdminModel
{
[Remote("IsUniq", "Home", HttpMethod = "POST")]
public string FirstName { get; set; }
}
我的控制器动作(HomeController):
[HttpPost]
public JsonResult IsUniq(string FirstName)
{
IPAdressProgramEntities r = new IPAdressProgramEntities();
var user = r.spLineExist(FirstName);//spLineExist - procedure in SQL- return how many time record exist in database
return Json(user); //return on my page how many times record exists
}
这是我的观点:
@using (Html.BeginForm())
{
<div class="editor-field">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</div>
}
PS WebConfig已配置,脚本也包含在我的视图中。 谢谢。
答案 0 :(得分:1)
如果您只想在计数大于0时显示消息,请在数据注释中添加错误消息属性。
teamcity.runCustomBuild.buildsLimit
并从您的操作方法返回[Remote("IsUniq", "Home", HttpMethod = "POST", ErrorMessage = "Exist")]
public string FirstName { get; set; }
的{{1}}。要显示错误消息,您需要从方法返回true
。
false
如果要显示两个消息(存在/不存在),您可以考虑使用一些jQuery ajax调用来处理检查,而不是依赖于远程数据注释。因此,只需删除数据注释即可。
并在此输入字段上侦听keyup事件,读取值,发送到服务器以检查它是否存在,根据结果显示相应的消息
false
确保从您的操作方法返回True或False。
var responseToSend = user!=0; //user is the count returned by your existing code
return Json(responseToSend);