asp.net-mvc - mvc c# jquery 如果记录存在则更新 View 的一部分,否则更新表

标签 asp.net-mvc jquery

我正在寻求有关如何实现此功能的建议(像往常一样)。我有一个带有编辑框的页面,用户在其中提交带有输入的页面,其唯一目的是将其保存到记录中。但是我想要做的(为了避免重复)是首先在表中搜索任何相似的记录,如果有任何相似的记录,我想将其返回给用户(在同一 View 上)并询问,你想要使用这些记录而不是保存新记录?

所以我有一个观点

<script type="text/javascript">
   $(document).ready(function(){
      $(function(){
         $('.submit-link').click(function(){
             /** not sure how to handle this **/
         });
      });
   });
</script>


<% using(Html.Beginform()){%>
   <%: Html.TextBoxFor(model => model.Name)
   <button type="submit" value="register name" class="submit-link">Submit</button>
<%}%>

<div class="search-results"></div>

我的 Controller

public ActionResult New(){
   return View();
}


[HttpPOst]

public ActionResult New(FormCOllection collection){
   try{
    Profile profile = new Profile();
    TryupdateModel(profile);
    context.Profile.Add(profile);
    context.SaveChanges();
   }
catch(Exception ex)
{
}
   return View();
}

所以我的困境是,我不确定:

  1. 我应该将其发布到“新建”操作,然后在其中进行搜索,如果存在记录,我应该返回 json 格式数据,以便我可以使用 jquery 无缝显示它,否则保存它重定向到同一页面。

  2. 或者,我应该将整个事情指向一个将处理搜索的 json 操作,如果找到某些内容,则返回到同一页面,否则保存然后返回。

我对后者的问题是,它将需要一个 GET 操作,如果我有一个 get 操作,然后在 Controller 中使用一个单独的 JSon 类型方法,我不确定这是否是一个好的做法。这有道理吗?

或者也许我只是需要有人向我指出另一种类型的解决方案

感谢任何帮助!非常感谢!!

最佳答案

为什么不使用 jQuery Autocomplete plugin将现有项目填充为用户类型。因此,如果用户键入现有的“自动完成”将显示选项,并且用户将选择它。现在,当用户从现有选项(从自动完成建议中)中进行选择时,您知道不需要将其另存为新选项。

这对用户来说减少了工作

关于asp.net-mvc - mvc c# jquery 如果记录存在则更新 View 的一部分,否则更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11892914/

相关文章:

javascript - 如何从 jQuery 脚本 (MVC) 调用局部 View 中的按钮

c# - 如何使用 C# 代码通过路由名称获取路由 url 属性?

javascript - 基金会 5 : Unexpected end of script

javascript - 将一个值压入数组

javascript - jQuery 在下拉菜单上显示 DIV - 在选择之前显示第一个 DIV

javascript - WordPress 前端上的 Jquery 不工作

asp.net-mvc - 在 ASP.NET MVC 3 应用程序中扩展 Windows 身份验证

c# - 如何从 JavaScript 方法重定向到操作?

asp.net - System.Net.Http 无法在当前目标框架 .NET 4.0 中解析

jquery - 在 angularJS Controller 中使用 jQuery 的 $.ajax