0

最終的にデータを表示するためのasp.netグリッドを取得しました...しかし、行の1つをクリックしたときにアクションにリンクする必要があります...または必要に応じて、単一の列の1つにルートを取得するにはどうすればよいですかMVC3 の私の列または行?

私はところでjqGridを使用しています...

グリッドの設定方法は次のとおりです

$("#list").jqGrid({
                        shrinkToFit: false,
                        autowidth: true,
                        datatype: 'jsonstring',
                        mtype: 'POST',
                        colNames: [
                                   'MRN',
                                   'Hospital Fin',
                                   'First Name',
                                   'Last Name',
                                   'Date of birth',
                                   'Completed Pathway',
                                   'Completed Pathway Reason',
                                   'PCP Appointment',
                                   'Specialist Appointment',
                                   'Admit Date'
                                   ],
                        colModel: [
                                   { name: 'MRN', width: 125, align: 'left' },
                                   { name: 'Hospital_Fin', width: 145, align: 'left' },
                                   { name: 'First_Name', width: 115, align: 'left' },
                                   { name: 'Last_Name', width: 115, align: 'left' },
                                   { name: 'Date_of_birth', width: 145, align: 'left' },
                                   { name: 'Completed_Pathway', width: 125, align: 'left' },
                                   { name: 'Completed_Pathway_Reason', width: 165, align: 'left' },
                                   { name: 'PCP_Appointment', width: 115, align: 'left' },
                                   { name: 'Specialist_Appointment', width: 125, align: 'left' },
                                   { name: 'Admit_Date', width: 185, align: 'left' }],
                        rowNum: 10,
                        rowList: [5, 10, 20, 50],
                        sortname: 'Id',
                        sortorder: "desc",
                        viewrecords: true,
                        imgpath: '/Content/themes/UPMC-theme/images',
                        caption: 'My first grid'
    });

アクションメソッドに対して行全体をクリック可能にする方法はありますか? ビューを開くには、コントローラーとアクションを呼び出す必要があります...

EditEncounter はコントローラーで、EditEncounter はアクションです...

public ActionResult EditEncounter(int encounterId, int popId)
        {
            string UID = HttpContext.User.Identity.Name;
            DataRepository dr = new DataRepository();
            PatientACOModel patMod = dr.Get(encounterId, UID);
            TempData["POPULATIONID"] = popId;
            return View(patMod);
        }

今、私はJSON文字列を自分で書いています...<a />関連する列にタグを入れることを考えています。しかし、それは行全体をクリック可能にしていないことを意味し、リンクを配置する列を選択する必要があります...編集列を作成するだけで、他のすべてが失敗した場合に行うことになります。ただし、よりエレガントなソリューションを期待しています。

4

1 に答える 1

1

ビューがクラスオブジェクトのにバインドされていると仮定ListProductsます

@model IEnumerable<Product>
<table>
@foreach(var product in Model)
{
 <tr class="trClickable" data-viewurl="@Url.Action("View","Product",new {@id=product.ID})">
   <td>
     @product.Name
   </td>
   <td>
     @product.Price
   </td>
 </tr>
}
</table>

clickのイベントをキャプチャするための JavaScript を少し追加しrowます。

<script type="text/javascript">
 $(function () {
     $(".trClickable").click(function () {
         var item = $(this);
         window.location.href = item.data("viewurl");
     });
 });

View内部で呼び出されるアクションメソッドが呼び出され、呼び出されProductControllerたパラメーターを受け入れ、そのidビューにいくつかのデータを表示すると仮定します

于 2012-07-12T21:31:02.107 に答える