У меня есть один вопрос, и я стараюсь искать на форумах, но я не могу показать, что это хорошо подходит. У меня есть простой веб-сайт, используя мастер-страницу, все работает отлично, я даже поместил навигационную панель и прекрасно работает :)asp.net главная страница и javascript
Но я пытаюсь изменить свой maincontentplaceholder с помощью javascript, я пытаюсь с location.href и решение, которое я до сих пор получаю, то есть __PostBackURL , но я получаю полное обновление страницы, и я потерял «главную страницу» (заголовок).
Мой мастера-страница:
<asp:ContentPlaceHolder runat="server" ID="header" >
<table>
<tr>
<td>
<div id="navigation" class="navBarHidden" runat="server">
<img src="images/upperBar.png">
<div class="btns">
<table class="menu">
<tr>
<td style="width:15%"></td>
<asp:Repeater runat="server" ID="Repeater1" DataSourceID="SiteMapDataSource1">
<ItemTemplate>
<td style="width:12%; text-align:center;" >
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink>
</td>
</ItemTemplate>
</asp:Repeater>
<td style="width:15%">
<div id="loginLabel" style="color:white;">
login
</div>
<div id="loginArea" class="loginAreaClosed">
<table>
<tr>
<td>
<input type="text" id="login" class="loginInput"/>
</td>
</tr>
<tr>
<td>
<input type="password" id="password" class="loginInput"/>
</td>
</tr>
<tr>
<td>
<input type="button" value="login"/>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
</div>
</td>
</tr>
</table>
</asp:ContentPlaceHolder>
<div class="content">
<asp:ContentPlaceHolder runat="server" ID="ContentPlaceHolder1" >
</asp:ContentPlaceHolder>
И несколько container.aspx они же сейчас:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="containerAll">
<div class="container">
</div>
</div>
</asp:Content>
В одном из этих контейнеров у меня есть файл .js с некоторыми вещами:
document.getElementById("ContentPlaceHolder1_icon1").addEventListener('click', action, false);
function action() {
// i want to change the page seen in the main container inside the master page
// i tried
window.location = 'Response.Redirect("~/events.aspx", false);'
// and this tried
window.location = "newStuff.aspx";
}
Я знаю, что это своего рода грязный :( возможно ли это?
Надежда кто-то может сказать мне, что есть способ :)
'я пытаюсь изменить свою maincontentplaceholder с помощью javascript' - JavaScript имеет нет понятия «ContentPlaceHolder». Это серверные компоненты и полностью обрабатываются и заменяются разметкой HTML перед отправкой в браузер. JavaScript может заменить содержимое любого из HTML-элементов на стороне клиента, но он не может напрямую взаимодействовать с элементами управления на сервере. Кроме того, 'Response.Redirect()' не может быть вызван в JavaScript. Это серверная функция. Помимо этого, мне не совсем ясно, что вы пытаетесь сделать. Можете ли вы уточнить, может быть, с примером? – David
Прежде всего, для подсказки, я понимаю, что вы говорите :) Но позвольте мне попытаться объяснить, чего я хочу. У меня есть интро-анимация, которая создается с помощью css3. Это моя первая страница, страница по умолчанию. В конце анимации у меня есть несколько кнопок, которые я хочу использовать для навигации по разным страницам. Я начинаю использовать главную страницу, поэтому я могу держать верхнюю панель на всем узле, который также имеет некоторые ссылки, но они работают нормально. – Yerathel