检查记录是否存在(立即)在MVC中

时间:2016-07-29 15:01:59

标签: sql asp.net json asp.net-mvc

我想在文本框中输入内容之后立即检查,如果我的数据库中存在记录。我设法返回我在数据库中存在多少次记录的页码,但我想返回一条消息(如果存在或不存在)。

所以,问题是:如果记录存在与否,我如何显示消息?

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已配置,脚本也包含在我的视图中。 谢谢。

1 个答案:

答案 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);