вернуть RedirectToAction для индекса, но с разделами href?(Ajax необязательно) - PullRequest
0 голосов
/ 18 января 2019

У меня есть несколько разделов в одном файле View, например, href="#timeline" для <div class="tab-pane" id="timeline">. href="#settings" для <div class="tab-pane" id="settings">

Если щелкнуть вкладку «Временная шкала», откроется вкладка, в которой отображается временная шкала. Нажав на вкладку «Настройки», вы перейдете на вкладку, которая позволяет изменять настройки.

Как вернуть представление в Controlller в раздел href = "# settings" в том же файле View?

Спасибо.

Модель:

 public class UserViewModel
    {
        public List<Timeline> TheTimeline { get; set; }
        public List<Posts> ThePosts{ get; set; }
        public string SettingsVM{ get; set; }
    }

Контроллеры:

 [HttpPost]
        public ActionResult SettingsUpdateProfile(User variable, IFormFile TheEmployeePicture)
        {
          blablabla
                    if (UploadFile(TheEmployeePicture, fname))
                    {
                        return RedirectToAction(String.Format("Index/{0}", User.Identity.Name);
                    }
                    else
                    {
                        return BadRequest();
                    }

                }
                else
                {
                    return BadRequest();
                }
            }
            else
            {
                return BadRequest();
            }
        }

Просмотров: 1019 * *

@model UserProfile.Models.UserViewModel

@{
    ViewData["Title"] = "UUUSSSEEERRR";
}

<div class="col-md-9">
                <div class="nav-tabs-custom">
                    <ul class="nav nav-tabs">
                                              <li class="active"><a href="#activity" data-toggle="tab">Posts</a></li>

                        <li><a href="#timeline" data-toggle="tab">Timeline</a></li>


<div class="tab-pane" id="timeline">
                          ...
                        </div>

1 Ответ

0 голосов
/ 18 января 2019

Если вы используете одну и ту же ViewModel для обеих вкладок, я рекомендую не использовать ajax, так как вам не нужно больше запросов, если у вас достаточно данных для отображения.

       <ul class="nav nav-tabs in" id="your_id">
        <li><a data-toggle="tab" href="#timeline">Time Line</a></li>
        <li><a data-toggle="tab" href="#settings">Time Line</a></li>
       </ul>
     <div id="tab-content" class="tab-content">
      <div class="tab-pane" id="timeline">@{ Html.RenderPartial("ViewName", Model)}</div>
      <div class="tab-pane" id="timeline">@{ Html.RenderAction("ActionName", "ControllerName", new { routeParams})}</div>
    </div>

Таким образом, вы можете выбрать, использовать частичную визуализацию и передать модель в качестве параметра и имени представления, или вы можете выполнить Render Action, он будет выполнять запрос и возвращать представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...