2

ViewBag 変数を使用してデータベースからデータを動的に取得し、インターフェイスを動的に生成する MVC3 アプリケーションがあります。

jQuery を使用してアクション メソッドを呼び出し、データベースにいくつかの値を挿入し、それに応じて ViewBag 変数を更新しています。サーバーからの更新後に返された新しいViewBag値でdivを更新したい...その方法を本当に理解できません。ありがとう

これは私のビューコードです:

    <div id="phys">
        <fieldset>
            <legend>IPSS</legend>


                @foreach (var parameter in ViewBag.four.Parameters)
                {

                    @MyHelpers.ParameterList(parameter, ViewBag.four.ParametersValues, "ParametersList")


                }
                <button type="button" onclick="print()" class="t-button">
        Add Physician</button>

        <table>
    <thead>
        <th>
            Physician
        </th>
        <th>
            Time
        </th>
        <th>
            Delete
        </th>


    </thead>

    <tbody>
        @foreach (var row in ViewBag.physicians.ParametersValues)
        {
            <tr>
                @{var items = ((string)row.Value).Split('|');}

                <td>@items[0]
                </td>
                <td>@items[1]
                </td>
                <td>@Html.ActionLink("Delete", "DeleteVisitParameter", new { vpid = @row.VisitParameterID })</td>

            </tr>
        }
    </tbody>

</table>

        </fieldset>
        </div>

これは私のjQueryです:

<script type="text/javascript">
    $(document).ready(function () {

        print = function () {

            //$.post("/visit/physicians", { phy: $("#ParamList7 option:selected").text(), vID: '@ViewBag.VisitID' })

            $.ajax({
                cache: false,
                type: "POST",
                url: '@Url.Content("~/visit/physicians")',


                data: { phy: $("#ParamList7 option:selected").text(), vID: '@ViewBag.VisitID' },
                success: function (data) {

                    //What Shall I do here to update div #phys with new View Data??
                },
                fail: function (msg) {
                    alert("Fail"); ;
                }
            });



        };


    });

</script>
4

1 に答える 1

0

これを試して

JavaScript で AJAX メソッドを変更しました

$.ajax({
                        cache:false,
                        type: "GET",
                        url: "@(Url.Action("visit", "physicians"))",
                        data: { phy: $("#ParamList7 option:selected").text(), vID: '@ViewBag.VisitID'},
                        success: function (data) {

                           // perform operation after successful call 


                        },
                        error:function (xhr, ajaxOptions, thrownError){
                            alert('fail');

                        }  
                    });

// コントローラー内

public ActionResult visit(string phy,string vID)
{

  //perform your operation here and return result in JSON 

   return Json(new {result =""},JsonRequestBehavior.AllowGet);
}

注: すべてのパラメーターには、Java スクリプトを介してアクションを呼び出す値が必要であることを確認してください。

これはアクションを呼び出します。機能を実行した後に値を更新する場合は、JSON で結果を渡し、Java スクリプトの成功関数で操作を実行する必要があります。

于 2012-12-13T09:13:16.710 に答える