powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4
3 сообщений из 3, страница 1 из 1
Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4
    #38654693
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет, ребят направьте пж как лучше организовать, видать нужно задействовать js.

есть запись, в ней есть ссылка/картинка кликая по которой человек (авторизованый) может добавить себе эту запись в избранное... так как мне нужно проверить нет ли уже этой записи у него в избранном и вывести соответствующий значок, мне необходимо сделать @{Html.RenderAction


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
//ОСНОВОЕ ПРЕДСТАВЛЕНИЕ 
        public ActionResult Favorite(int Recid, int UserAvtor)
        {
            //если юзер авторизирован, проверим добавлены/нет в избранное и возвр част представление
            if (User.Identity.IsAuthenticated)
            {
                ViewBag.RecId = Recid;
                ViewBag.UserAvtor = UserAvtor;               
 
                ViewBag.FavRec = "AddFrec.gif";
                if (recordsManager.IsRecFavorite(CurrentUser.id, Recid)) { ViewBag.FavRec = "DelFrec.gif"; }              
 
                return PartialView("_favorite");
            }
 
            else
            {
  return PartialView("_favoritenot");
 
            }
 
           
        }



это действие подает в запись частичное представление:

Код: html
1.
@Html.Raw(@Ajax.ActionLink("[replacetext]", "RecToFav", "Record", new { Recid = ViewBag.RecId }, new AjaxOptions { UpdateTargetId = "CurrentContent" }, new {@class = "TitleAdFrec" }).ToHtmlString().Replace("[replacetext]", "<img  src='../../images/ico/"+ViewBag.FavRec+"'/>"  ))



с этой частью все ок, но теперь я нажимаю на ссылку - @Html.Raw(@Ajax.ActionLink("[replacetext]", "RecToFav", "Record",......

и хотелось бы, чтобы перезагрузилось частичное представление Favorite или иконка поменялась... чтобы видно было что запись добавлена в избранное....
...
Рейтинг: 0 / 0
Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4
    #38670425
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал так:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
.....
    
                                                        @if(Request.IsAuthenticated){                                                             
                                                            <div style="float:right; padding-top:1px"><a href="@Url.Action("AffToStatusVK", "CabinetBlogger", new {aff = Model.TextBL } )"> <img alt="Добавить цитату в статус Вконтакта" style="vertical-align: middle;"   src="~/images/to-email.png" title="Добавить цитату в статус Вконтакта" /></a></div>
                                                            <div id="cur-fav" style="float:right; padding-top:1px; padding-right:3px;"  onclick="AffToStatusVK();">
                                                            <a title="Добавить цитату в избранные" href='javascript:;'>   <img src='~/images/ico/ToFav20.gif' /> </a>          
                                                            </div>                                                             
                                                            
                                                            
                                                            <div style="float:right; padding-top:1px"><a target="_blank" href="@Url.Action("RecToEml", "Record", new {id = Model.idBL } )"> <img alt="Отправить афоризм другу на e-mail" style="vertical-align: middle;"   src="~/images/to-email.png" title="Отправить афоризм другу на e-mail" /></a></div>
                                                             
                                                            <div id="cur-fav" style="float:right; padding-top:1px; padding-right:3px;"  onload="Favorite()"; onclick="RecToFav();">
                                                              <a title="Добавить цитату в избранные" href='javascript:;'>   <img src='~/images/ico/ToFav20.gif' /> </a>          
                                                             </div>  
                                                                                
                                                        }

                                                        else
                                                        {                                                                 
                                                             <div style="float:right;padding-right:3px; padding-top:1px"; onclick="open_win();">                                                            
                                                             <a title="Добавить цитату в статус Вконтакта" href='javascript:;'>   <img src='~/images/ico/ToFav20.gif' alt="Добавить цитату в статус Вконтакта"/> </a>                                                                                                                    
                                                             </div>                                                             
                                                                                                                   
                                                             <div style="float:right; padding-top:1px"><a target="_blank" href="@Url.Action("RecToEml", "Record", new {id = Model.idBL } )"> <img alt="Отправить афоризм другу на e-mail" style="vertical-align: middle;"   src="~/images/to-email.png" title="Отправить афоризм другу на e-mail" /></a></div>
                                                             <div style="float:right;padding-right:3px; padding-top:1px"; onclick="open_win();">                                                            
                                                             <a title="Добавить цитату в избранные" href='javascript:;'>   <img src='~/images/ico/ToFav20.gif' /> </a>                                                                                                                    
                                                             </div>  
                                                        }  
.....

.....
    //при загрузке
    (function Favorite() {  
             $.ajax({
                    url: '@Url.Action("Favorite", "Record")',
                     type: 'POST',
                     dataType: 'json',
                     traditional: true,
                     data: {
                         Recid: '@Model.idBL',
                         UserAvtor: '@Model.user_idBL',
                     }
             }).success(function (response) {
                 $("#cur-fav").html(response.favImglink);
                 }).done(function () {
                     return true;
                 });
    });


    function RecToFav() {       
        $.ajax({
            url: '@Url.Action("RecToFav", "Record")',
              type: 'POST',
              dataType: 'json',
              traditional: true,
              data: {
                  Recid: '@Model.idBL',
                     UserAvtor: '@Model.user_idBL',
                 }
          }).success(function (response) {
              $("#cur-fav").html(response.favImglink);
            
          }).done(function () {
              return true;
          });
    }




Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
        //////////////ИЗБРАННЫЕ ЗАПИСИ////////////////

        //ЕСЛИ ПОЛЬЗОВАТЕЛЬ АВТОРИЗИР ПРОВЕРИМ ДОБ НЕТ В ИЗБРАННОЕ ЗАПИСЬ И ОТРИСУЕМ ССЫЛКУ 
        public JsonResult Favorite(int Recid, int UserAvtor)
        {
            if (recordsManager.IsRecFavorite(CurrentUser.id, Recid)) { return Json(new { favImglink = "<a title='Удалить цитату с избранного' id='FavLink' href='javascript:;'  ><img src='../../images/ico/FromFav20.gif' /> </a>", JsonRequestBehavior.AllowGet }); }

            else { return Json(new { favImglink = "<a title='Добавить цитату в избранные' id='FavLink' href='javascript:;'>   <img src='../../images/ico/ToFav20.gif' /> </a>", JsonRequestBehavior.AllowGet }); }
        }

               
        
        //МЕТОД И ДОБ И УДАЛЯЕТ С ИЗБРАННОГО
        public JsonResult RecToFav(int Recid, int UserAvtor)
        {
            if (recordsManager.IsRecFavorite(CurrentUser.id, Recid))
            {
                recordsManager.RecFromFav(CurrentUser.id, Recid);
                return Json(new { favImglink = "<a title='Добавить цитату в избранные' id='FavLink'  href='javascript:;'><img src='../../images/ico/ToFav20.gif' /> </a>", JsonRequestBehavior.AllowGet });
            }

            else { 
                
                recordsManager.RecToFav(CurrentUser.id, Recid);
                return Json(new { favImglink = "<a title='Удалить цитату с избранного' id='FavLink' href='javascript:;'><img src='../../images/ico/FromFav20.gif' /> </a>", JsonRequestBehavior.AllowGet });            
            }          
        }       
...
Рейтинг: 0 / 0
Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4
    #38670427
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только не понятно, если на контроллер идет type: 'POST',

то как контроллер отрабатывает если он не помечен [HttpPost] ?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]