我有一个问题,我尝试在论坛中搜索,但我似乎无法好好利用它。 我有一个使用母版页的简单网站,一切正常,我甚至放了一个导航栏并且工作得很好:)
但是我正在尝试使用javascript更改我的maincontentplaceholder,我尝试使用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";
}
我知道这有点乱:( 这可能吗?
希望有人能告诉我有办法:)
答案 0 :(得分:0)
这不是MasterPages的工作原理,请阅读这篇文章: http://msdn.microsoft.com/en-us/library/wtxbf3hh(v=vs.100).aspx