3

私はMVCを初めて使用します。jQuery タブ (以下のように) を含むビューがあります。

<div class="demo">
<div id="demoTabs">
    <ul aria-labelledby="demoTabsLabel">
        <li><a href="#basicInfo">Basic Information</a> </li>
        <li><a href="#address">Address</a> </li>
        <li><a href="#tabbs">Tab 3</a> </li>
    </ul>
    <div id="basicInfo">
        @using (Html.BeginForm("Create", "Organisation", FormMethod.Post)) {
        <div class="editor-label">
            @Html.LabelFor(model => @Model.Name)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => @Model.Name) @Html.ValidationMessageFor(model => @Model.Name)
        </div>
        <div>
            <a class="nexttab" href="#address">
                <input id="Submit2" type="submit" value="Continue" /></a>
        </div>
        }
    </div>
    <div id="address">
        @Html.Label("Address") <a class="nexttab" href="#tabbs">
            <input id="Submit4" type="submit" value="Continue" /></a>
    </div>
    <div id="tabbs">
        @Html.Label("optional") </fieldset>
        <input id="Submit5" type="submit" value="Submit" />
    </div>
</div>

ユーザーが続行ボタンを押すと、次のスクリプトを使用してコントロールが次のタブに移動します。

$("#demoTabs").tabs();
$(".nexttab").click(function () {
    $("#demoTabs").tabs("select", this.hash);
});

ただし、情報を保存した後にコントローラーからリクエストが返されると、ページがリロードされ、コントロールが最初のタブに再び移動します。

正しいやり方を教えてください。

どうもありがとう

コントローラ

[HttpPost]
public ActionResult Create(Xrm.Account account)
{
    //create
    org = orgModel.CreateOrUpdateOrg(account);
    return Redirect(Url.Action("Create", "Organisation") + "#tabbs");           
}
4

2 に答える 2

3

コントローラーで、この行を使用して ActionResult に戻ります。最後に正しいタブ名を追加する必要があります。

return Redirect(Url.Action("Action", "Controller") + "#tabname");

次に、ページに次のコードを追加して、ロード時に右側のタブを表示します。

$("#demoTabs").tabs("select", window.location.hash);
于 2012-04-13T15:54:47.500 に答える
1

あなたの機能を変える

$(".nexttab").click(function () {
    $("#demoTabs").tabs("select", this.hash);
});

これに

$(".nexttab").click(function () {
        $("#demoTabs").tabs("select", this.hash);
window.location.hash = this.hash
    });

と機能

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

$("#demoTabs").tabs("select", window.location.hash);
于 2012-04-13T16:23:33.957 に答える