Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4 / 3 сообщений из 3, страница 1 из 1
28.05.2014, 15:45
    #38654693
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4
всем привет, ребят направьте пж как лучше организовать, видать нужно задействовать 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
16.06.2014, 14:05
    #38670425
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4
сделал так:

Код: 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
16.06.2014, 14:06
    #38670427
Sputnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как лучше организовать алгоритм добавления записи в избранное? asp mvc 4
только не понятно, если на контроллер идет type: 'POST',

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


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