0

ページをレンダリングしたいのですが、そのページは「編集」ページです。このようなもの

@RenderPage("~/Views/Edit/25.cshtml")

しかし、これは機能せず、おそらくパラメータ「25」をパラメータとして渡す必要がありますが、これまでのところ成功していません。私のプログラムには2つのタブがあり、両方のcall(render)ページがAjax(Jqueryui-http://jqueryui.com/tabs/)をスローます。タブをクリックすると、彼は編集ビューを呼び出します。特定のID。

それが可能だ?どうすればいいですか?

4

2 に答える 2

0

asp.net mvcでajaxを介してタブをレンダリングするには、この方法で行うことができます。

CSHTML:

タブコントロールを作成します。タブヘッダーの各アンカーは異なるルート値を使用します。もちろん、それらをコントローラーのさまざまなアクションにリンクすることができます。

<div id=tabs>
    <ul>
        <li>@Html.ActionLink("Tab1", "Edit", new { id = 25 })</li>
        <li>@Html.ActionLink("Tab2", "Edit", new { id = 26 })</li>
    </ul>
</div>

コントローラ、タブコントロールにレンダリングされる部分ビューをここに返すことに注意してください。

    public ActionResult Edit(int id)
    {
        // You probably want to load the Model from the db with id param. I just write a message
        ViewBag.Message = id;

        return PartialView("Edit"); 
    }

私のpartialviewEdit.cshtml:

<span>Edit me @ViewBag.Message</span>

Javascript、通常どおりタブコントロールを作成します。

$("#tabs").tabs();

一般的に、パラメータを使用して部分的なビューをレンダリングしたい場合は、個人的に

@Html.Action("Edit", "Controller", new {id=25})
于 2013-02-19T11:40:12.637 に答える
0

特定のタブのクリックでいくつかのアクションを実行したい場合は、Ajaxを使用することをお勧めします。jQuery.Ajaxをご覧ください。または、純粋なhttp Webリクエストが必要な場合は、ユーザーがタブをクリックしたときに特定のクエリ文字列を同じページに渡して、渡された値を特定することでコンテンツをロードできます。

于 2013-02-19T11:18:22.627 に答える