0

我使用了 jquery ui 选项卡效果。我正在尝试将数据插入模型..它工作得很好..我可以插入记录..但我的问题是插入后如何保持在同一个选项卡上?我可以从控制器做吗?我正在尝试在我的 asp.net mvc 3 应用程序中执行此操作

这是我的标签调用部分:

<script>
    $(function () {
        $("#tabs").tabs();

    });
</script>


<div id="tabs">
<ul>

<li><a href="#tabs-2">Proin dolor</a></li>
<li>@Html.ActionLink("Create Student","CreateStudent")</li>
<li>@Html.ActionLink("Student Details", "StudentDetails")</li>

</ul>
</div>

这是学生详细信息选项卡:

@model IEnumerable<accordionNtabs.Models.student>


<table>
    <tr>
        <th>
            name
        </th>
        <th>
            birthdate
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.name)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.birthdate)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id = item.id }, new { id = "privacyLink" }) |
            @Html.ActionLink("Details", "Details", new { id=item.id }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.id }) |

        </td>
    </tr>
}



</table>

这是在单击编辑链接时呈现的编辑视图:

@model 手风琴Ntabs.Models.student

@using (Html.BeginForm()) { @Html.ValidationSummary(true) 学生

    @Html.HiddenFor(model => model.id)

    <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 class="editor-label">
        @Html.LabelFor(model => model.birthdate)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.birthdate)
        @Html.ValidationMessageFor(model => model.birthdate)
    </div>

    <p>
        <input type="submit" value="Save" />
    </p>
</fieldset>

}

@Html.ActionLink("返回列表", "索引")

我希望将编辑视图加载到同一个选项卡上。

4

2 回答 2

2

听起来您正在回发然后页面刷新..没有ajax对吗?在这种情况下,您需要使用隐藏字段或其他东西来记录选择了哪个选项卡,然后当您重新显示表单时,您需要通过 javascript 设置选定的选项卡。请参阅此答案以获取想法...:使用 URL 中的参数选择 jQuery 选项卡

于 2013-03-03T14:15:46.817 回答
0

这是 asp.net webforms 通过 viewstate 提供的那种功能。不幸的是,对于 asp.net MVC,开发人员需要通过编写一些代码来解决这个问题。您可以在 cookie 中保持此状态,但请注意用户可能会禁用 cookie。或者,您可以使用 HTML5 Web 存储对象来存储 UI 状态。

于 2014-02-09T23:43:34.347 回答