我正在(像往常一样)寻求有关如何使用此功能的建议。我有一个带有编辑框的页面,用户在其中提交带有输入的页面,其唯一目的是将其保存到记录中。但是我想要做的(避免重复)是首先在表中搜索任何 SIMILAR 记录,如果有任何类似的记录,我想将其返回给用户(在同一视图上)并问,你想要使用这些记录而不是保存新记录?
所以我有一个看法
<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>
我的控制器
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();
}
所以我的困境是,我不确定是否:
我应该将它发布到“新建”操作,然后在其中进行搜索,如果存在记录,我应该返回一个 json 格式的数据,以便我可以使用 jquery 无缝显示它,否则保存它然后重定向到同一页面。
或者,我是否应该将整个内容指向将处理搜索的 json 操作,如果找到某些内容,则返回到同一页面,否则保存然后返回。
我对后者的问题是,它需要一个 GET 操作,如果我有一个 get 操作,我不确定这是一个好习惯,然后是控制器中的一个单独的 JSon 类型方法。那有意义吗?
或者也许我只需要有人给我指出另一种解决方案
任何帮助表示赞赏!非常感谢!!