Ссылки на страницы ASP недоступны при прохождении через jQuery.html () - PullRequest
4 голосов
/ 26 апреля 2019

Я изучаю некоторые базовые разработки ASP.net в качестве хобби.Я использую jQuery.html () для обновления div со списком ссылок на страницы бритвы ASP, но ссылки не проходят.

Я создал тестовое веб-приложение и прикрепил функцию jQuery.Код работает, div заполняется, но ссылки на страницы ASP не активны.Я не смог ничего найти конкретно по этому поводу, но, поскольку я новичок в этой теме, мой Google-Fu может быть отключен.

Вот код jQuery, который работает в site.js:

$(document).ready(function () {

    $("#testDiv").html(
        '<p>Page List:</p> <ul> <li> <a asp-area="" asp-page="/TestPage">TestPage</a></li></ul>'
    );

});

При этом div выглядит следующим образом:

jQuery Div

Когда я копирую цитируемый HTML-код в запросе js непосредственно вpage div:

<div class="row">
    <div id="testDiv">
        <p>Page List:</p> <ul> <li> <a asp-area="" asp-page="/TestPage">TestPage</a></li></ul>
    </div>
</div>

Ссылка работает правильно, как показано ниже:

ASP Direct

Есть ли что-то, что мне нужно сделать дополнительноASP сквозной код, чтобы ссылки работали с jQuery?

1 Ответ

4 голосов
/ 26 апреля 2019

Как упомянул в комментариях ADyson, атрибут asp-page является Anchor Tag Helper , который отображается в соответствующем HTML движком Razor. Это происходит на стороне сервера.

То, что вы делаете через jQuery, происходит на стороне клиента. То есть движок Razor недоступен, поэтому он отображается как есть. Помощник тега привязки бритвы в конце дня переводит его значение в действительный HTML.

В jQuery вы должны установить правильный HTML-код для ссылки:

$(document).ready(function () {

    $("#testDiv").html(
        '<p>Page List:</p> <ul> <li> <a href="/TestPage">TestPage</a></li></ul>'
    );

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