Показать сообщение отдельно
  #2 (permalink)  
Старый 20.03.2013, 15:31
Аспирант
Отправить личное сообщение для HoenDHime Посмотреть профиль Найти все сообщения от HoenDHime
 
Регистрация: 23.02.2013
Сообщений: 30

Как не прискорбно, но при попытках сделать самому возникли некоторые траблы - при использовании обычного тега а
<a data-ajax="true" data-ajax-begin="beginUpdate" data-ajax-mode="replace" data-ajax-update="#PMessage" href="@Url.Action("IndexMessaging", "InstMessaging", new { UserName = f.PersonalData.UserName })" rel="@f.PersonalData.UserName" id="mess">  
                                <img src="@Url.Content("~/Content/AvaImage/" + f.PersonalData.UserName + "/AvaImage" + f.PersonalData.AvaImage)" alt="AvaImage" />
                            </a>

срабатывает этот код
<script type="text/javascript">
    $("a").click(function() {
        alert($(this).attr("rel"));
         });
</script>
, но в URL вставляется записись только со второго разу,
и использование ASP .NET MVC штуки
@Ajax.ActionLink(f.PersonalData.FullName, "IndexMessaging", new { UserName = f.PersonalData.UserName }, 
                            new AjaxOptions { UpdateTargetId = "PMessage", OnBegin = "beginUpdate" }, 
                            new { rel = f.PersonalData.UserName })

срабатывает на это
<script type="text/javascript">
    $(document).ready(function () {
        jQuery.listen("click", "a", function () {
            alert($(this).attr("rel"));
        });
    });
</script>

и
event.srcElement.getAttribute("rel");


и выложу весь код который при якс запросе помещает данные в юрл
var _currentName = null;

    Sys.Application.add_init(nameInit);

    function nameInit() {
        Sys.Application.set_enableHistory(true);
        Sys.Application.add_navigate(navigate);
    }

    function navigate(sender, e) {
        var UserName = e.get_state().UserName;

        if (UserName != _currentName) {
            _currentName = UserName;
            $('#PMessage').load("?UserName=" + UserName);
        }
    }

    function beginUpdate() {
        //$("a").click(function () {
        //    _currentName = $(this).attr("rel");
        //});("rel");
        // в переменную _currentName записывает содержимое аттрибута рел для юрл
        Sys.Application.addHistoryPoint({ "UserName": _currentName });
    }


Возможно само написание якс запроса неверно, просто выполнил якс запрос на ASP .NET MVC глянул html сгенерированый код и вставил в тег а.
Ответить с цитированием