1

次の画像のような MVC3 Razor ビュー エンジンのビューがあります。ここで、新しいページではなく、このリンクテキストの下に表示される接続アクションの出力を確認したいと思います。どうすればこの作業を行うことができますか?

サンプルコードで説明してください。

ここに画像の説明を入力

私の見解 このように:

@model ESimSol.BusinessObjects.COA_ChartsOfAccount
@{
    ViewBag.Title = "Dynamic Account Head Configure";
}

<h2>Dynamic Account Head Configure</h2>

<table border="0">
    <tr>
        <td> Select an Server Connection </td>
        <td style="width:5px">:</td>
        <td>@Html.DropDownListFor(m => m.DBConnections, Model.DBConnections.Select(x => new SelectListItem() { Text = x.ConnectionName, Value =  x.DBConnectionID.ToString()}))</td>        
    </tr>
    <tr>
        <td> </td>
        <td style="width:5px"></td>
        <td>@Html.ActionLink("Confirm Connection", "ConformConnection")</td>        
    </tr>
</table>

AND My Controller アクション 次のように:

public ActionResult ConfirmConnection()
        {           
            return PartialView();

        }
4

2 に答える 2

0

私はこの種のことのためにjqueryとajaxを使用することの大ファンです... http://api.jquery.com/jQuery.ajax/

典型的な MVC モデルに従っている場合は、次のようなものを使用してページにアクション リンクを追加できます。

@Html.ActionLink("controller", "action", args);

しかし、私はajax主導のアプローチを採用します...

<script type="text/javascript">
        var ajaxBaseUrl = '@Url.Action("yourController", "ConformConnection", new { args })';
        $(link).click(function () {
            var currentElement = $(this);
            $.ajax({
                url: ajaxBaseUrl,
                data: { any other queryString stuff u want to pass },
                type: 'POST',
                success: function (data) {
                        // action to take when the ajax call comes back
                    }
                });
            });
        });
    </script>
于 2012-07-05T11:54:10.777 に答える
0

まず、マークアップを部分ビューに移動します。その後、部分ビューをレンダリングするアクション メソッドを定義します。

[ChildActionOnly]
public ActionResult ConfirmConnection(COA_ChartsOfAccount model)
{           
    return PartialView("MyPartialView", model);
}

ChildActionOnly 属性は、このアクション メソッドが HTTP 要求によって呼び出されないようにします。

その後、Html.Action メソッドを使用していつでも表示できます。

@Html.Action("ConfirmConnection", "MyController", new { model = Model })

表示するページによって変更されない場合は、モデルをパラメーターとして渡すことを無視します。アクションメソッドで取得できます。

于 2012-07-05T11:48:05.760 に答える