この機能にアプローチする方法について、(いつものように) アドバイスを求めています。ユーザーが入力を含むページをレコードに保存することのみを目的として送信する編集ボックスがあるページがあります。しかし、(重複を避けるために)やりたいことは、最初にテーブルを検索して 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タイプのメソッドがある場合の良い習慣であるかどうかはわかりません。それは理にかなっていますか?
または、別のタイプの解決策を教えてくれる人が必要なだけかもしれません
どんな助けでも大歓迎です!本当にありがとう!!