所以,我的老板有这个疯狂的想法 - 整个网站在一个页面上工作。到目前为止 - 仍然可以,但这是事情:
- 不同的页面具有不同的div
s内容(像往常一样),当点击某个div(或链接)时,一些div会展开/折叠,以揭示不同内容的方式工作。那很好,但是......
他不想使用JavaScript或任何东西来动态查看网站('因为我将在2周内离开而他和其他员工不具备JS,因此如果需要则无法改进/维护)
他的想法是获取HTML代码,用于网站的所有页面变体,存储在数据库中,以及点击某些链接 - 使用特定HTML重新加载页面。因此,每个页面都没有不同的.html
个文件,但对于所有页面只有一个。
问题是它适用于我最初加载的第一个页面,但是当我调用另一个页面时,它会被扭曲,因为我调用了函数,它检索HTML,但是之前加载的是另一个调用页面仍然存在,所以它再次调用。这是示例,所以您理解:
<script runat="server" type="text/C#">
public string getPage(string name)
{
string page = "null";
switch (name)
{
case "media":
page = getMediaPage(); <!-- just function from the code-behind that retrieves the html code from the DB and passes it to the page -->
break;
case "home":
page = getHomePage(); <!-- just function from the code-behind that retrieves the html code from the DB and passes it to the page -->
break;
}
return page;
}
</script>
</head>
<body onload="addEvents();">
<form id="form1" runat="server">
<div id="parent">
<div id="presentation">
SomeCompany ApS Street3 | CITY | INFO@Comapny.com TLF: 999999
</div>
<%=getPage("home") %>
</div>
</form>
这就是初始页面的方式,然后只是在parent
div中我会为其他页面调用HTML。 HTML的一个例子,存储在DB中:
<div id="mainmenu">
<b>HOME</b>
<br />
PRODUCTS
<br />
<a href="<%=getPage("media")%>">SUPPORT</a>
<br />
CONTACT
<br />
ABOUT
<br />
</div>
<div id="logo">
</div>
所以我称这段代码在页面中猛烈抨击。当我点击<a href="<%=getPage("media")%>">
时发生扭曲,所以它正常加载页面,但页面中有<%=getPage("home") %>
静态站立,所有的时间,因为我需要从某个地方开始,它试图再次加载上一页,然后......服务器错误。
我知道这有点愚蠢的想法,但我不能再与他争辩了。
所以我的问题是 - 是否可以使用某种OnClick(Event e)
或其他方式处理所有这些,调用不同的函数(因为我已经开始)。
或者我应该告诉老板,这样做不会......
答案 0 :(得分:1)
如上所述,这不是一个好主意,但您可以通过使用某些Web控件来使其工作。
如果您的网页中有<%=getPage("home") %>
,请将其更改为:
<asp:literal id="ltlContent" runat="server" />
在Page_Load
来电:
ltlContent.Text = getPage("home");
您网页上应加载其他内容的所有链接,将这些链接更改为LinkButton
控件,其点击事件可能包含:
<asp:LinkButton id="linkMedia" runat="server" onclick="LoadContent" CommandArgument="media" />
public void LoadContent(object sender, EventArgs e){
ltlContent.Text = getPage(e.CommandArgument);
}
答案 1 :(得分:0)
您可以尝试获取网址上的参数。 将它们添加到您的链接“?page = media” 然后你到达$ _GET [“page”]
时解析网址