2011-12-04 11 views
0

私は、Prescriber がデータベースに存在しない場合、ユーザーはドロップダウンリストから "Prescribers" 「新規追加 処方箋」ビューを含むウィンドウをポップするボタンがあります。新しいユーザが入力したPrescriberのプライマリキーフィールドデータを収集し、元のビューをリロードしたり、他のフィールドに入力された情報を失うことなく、新しいPrescriberを含むようにドロップダウンに戻したり再挿入したりするにはどうすればよいですか?あなたは何ができるか私が正しくあなたを理解している場合MVC3ポップ新しいウィンドウ/入力したデータを表示して送信元の開いているウィンドウに戻す/完了したときに表示

<div class="editor-label"> 
      @Html.LabelFor(model => model.DEA_Number, "Prescriber's DEA #") 
     </div> 
     <div class="editor-field"> 
      @Html.DropDownList("DEA_Number", String.Empty) 
      @Html.ValidationMessageFor(model => model.DEA_Number) 
     </div> 

     <div> 
     <p>Prescriber Not in System? - Click to Add 
     <input type="button" name = "ClickMe" value="Add New Prescriber" onclick= "javascript:window.open('/Prescriber/Create/','Customer Search',height='window.screen.height - 100', width='200',left='window.screen.width - 250' ,top='10',status='no',toobar='no',resizable='yes',scrollbars='yes')"/> 
     </p> 
     </div> 
+0

なぜモデルポップアップを使用してページを終了しないのですか?次に、ajax呼び出しでデータを送り返し、javascriptのページを更新します。 –

+0

@feanz「モデルポップアップ」とは何を意味するのかよく分かりません。そして、私はそのページを(少なくともそれを閉じるという点ではなく)残しておらず、新しくポップされたウィンドウの後ろにまだ開いている。 – HendPro12

+0

私の悪い私はモーダルポップアップを申し訳ありません。このhttp://fancybox.net/を見てください –

答えて

0

は、on popup closeはDBにprescriberを挿入し、AJAXリクエストを送信し、

$.post("/URL/To/Controller",{name:'nameEnteredByUSerHere'},function(data){ 
$("<option/>",{value:data.value,text:data.text}).appendTo("#IDofYourDropDown"); 
},'json') 

と、コントローラは次のようになりますようにあなたのIDを返すです

[HttpPost] 
public ActionResult InsertPrescriber(string name){ 
//do some validation 
//insert data 
return Json(new{value="id of the inserted prescriber",text=name}); 
} 
関連する問題