Вкладки в asp.net mvc - PullRequest
       18

Вкладки в asp.net mvc

0 голосов
/ 15 мая 2010

У меня есть три вкладки на странице и один пользовательский элемент управления. Я хочу сделать RenderPartial на каждой вкладке.

<script type="text/javascript">
    $(document).ready(function() {
        $("#tabs").tabs();               
    });    
</script>


<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Text 1</a></li>
        <li><a href="#tabs-2">Text 2</a></li>
        <li><a href="#tabs-3">Text 3</a></li>
    </ul>
    <div id="tabs-1">
        <% Html.RenderPartial("usercontrol", Model);  %>            
    </div>
    <div id="tabs-2">
        <% Html.RenderPartial("usercontrol", Model);  %>            
    </div>
    <div id="tabs-3">
        <% Html.RenderPartial("usercontrol", Model);  %>            
    </div>
</div>    

как получить значения из разных вкладок.

1 Ответ

1 голос
/ 15 мая 2010

Если вы хотите распознать вкладку, которая отправляла данные обратно, вам нужно будет передать дополнительный параметр в каждое частичное представление:

public class UserControlModel
{
    ModelType ParentModel { get; set; }
    string ID { get; set; }
}

<div id="tabs-1">
    <% Html.RenderPartial("usercontrol", new UserControlModel { ParentModel = Model, ID = "tab1" });  %>            
</div>
<div id="tabs-2">
    <% Html.RenderPartial("usercontrol", new UserControlModel { ParentModel = Model, ID = "tab2" });  %>            
</div>
<div id="tabs-3">
    <% Html.RenderPartial("usercontrol", new UserControlModel { ParentModel = Model, ID = "tab3" });  %>            
</div>

Затем используйте Html.Hidden, чтобы сохранить значение в форме при частичном просмотре, и, проверив значение в методе post, вы сможете узнать вкладку.

Ваш частичный вид будет наследоваться от ViewUserControl<TaskEditModel>:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TaskEditModel>" %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...