2

ビューに次のような div ブロックがあります。

   <div id="divStatus" style="margin-top:10px;width: 200px; height: 100px; overflow-y: scroll;">
   </div>

次に、ビューから、ユーザーはコントローラーを呼び出すボタンをクリックします。コントローラーではいくつかのタスクが実行されるため、コントローラーからビュー内の div ブロックを更新したいと考えています。この div では、フレーズを出力します。

これを行う方法?

例:

public ActionResult()
    {
        // Do something
    Update_DIV_in_View("some thing has been done"); <--- DIV in the view must be updated by appending this message

    // Do another thing
    Update_DIV_in_VIEW("another thing has been done");<--- DIV in the view must be updated by appending this message

    .... and so on

    // All things done
    Update_DIV_in_VIEW("All things have been done");<--- DIV in the view must be updated by appending this message

    return View();
}
4

4 に答える 4

0

コントローラーで div の更新されたコンテンツのみを表示する 2 つ目のアクションを作成し、ボタンを押したときに通常のページでAJAX呼び出し ( jQuery.load()メソッドなど) でステータスをロードします。

于 2013-09-20T09:27:00.030 に答える
0

次のように実行できます。

  1. ビューでは、次のように使用Ajax Formします。

    @using (Ajax.BeginForm("ActionName", "ControllerName", new AjaxOptions { OnBegin = "beforeSubmitFunction()", HttpMethod = "POST",UpdateTargetId = "divStatus", OnComplete = "InsertRow()" }))
    {
      .. //Html フォーム コントロール
    }
    
    関数 beforeSubmitFunction()
    {
        //送信前のコード...
    }
    
  2. 次に、コントローラーで部分ビューを結果として返します。これは、id の div で更新されますdivStatus

    [HttpPost]
    public ActionResult Index(TypeName model)
    {
        return PartialView("PartialViewName", model);
    }
    
于 2013-09-20T09:44:57.633 に答える