首先感謝馬特的建議。我在這裏發佈解決方案來幫助其他面臨同樣問題的程序員。
我已經通過更改我的頁面後面的代碼中的IP地址解決了重定向問題,可以說它是http://192.168.0.160/ChangeIp.aspx,然後在更改IP地址後,我執行重定向到中間頁面,讓我們將其命名爲Redirector.aspx,如圖所示在下面的代碼:
// Code presenet in button click handler og ChangeIP.aspx page
protected void btnSaveAndRedirect_Click(object sender, EventArgs e)
{
this.ChangeIPAddress();
// Pass the new IP address via Query String to the Redirector.aspx page
Response.Redirect("Redirector.aspx?ip=" + this.txtIPAddress.Text);
}
Redirector.aspx是包含圖像,表示「重定向請稍候......」幷包含其中需要重定向要做出的新的IP地址,一個TextBox一個簡單的頁面。這些元素的HTML存在於Redirector.aspx頁面如下圖所示:
<body>
<form id="form1" runat="server">
<div>
<table width="100%">
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td class="style1"><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td><img src="Images/Transparent.png" alt="" /></td>
</tr>
<tr>
<td align="center"><img src="Images/Redirect.gif" alt="Please wait while redirecting" /></td>
</tr>
</table>
</div>
<p>
<asp:TextBox ID="txtIP" runat="server"></asp:TextBox>
</p>
</form>
注意,文本框的文本屬性,都會在頁面加載事件改變,如下圖所示:
protected void Page_Load(object sender, EventArgs e)
{
this.txtIP.Text = Request.QueryString["ip"];
}
然後在這個aspx頁面中,我創建了一個5秒鐘的定時器來重定向到新分配的IP,如下面的代碼所示:
<SCRIPT language="JavaScript" type="text/javascript">
<!--
var secs
var timerID = null
var timerRunning = false
var delay = 1000
function InitializeTimer()
{
// Set the length of the timer, in seconds
secs = 5
StopTheClock()
StartTheTimer()
}
function StopTheClock()
{
if(timerRunning)
clearTimeout(timerID)
timerRunning = false
}
function StartTheTimer()
{
if (secs==0)
{
StopTheClock()
// Here's where you put something useful that's
// supposed to happen after the allotted time.
var ip = document.getElementById('<%= txtIP.ClientID %>').value;
window.location.href = "http://" + ip;
}
else
{
self.status = secs
secs = secs - 1
timerRunning = true
timerID = self.setTimeout("StartTheTimer()", delay)
}
}
window.onload = function() {
// Hide textbox from user
document.getElementById('<%= txtIP.ClientID %>').style.display = 'none';
InitializeTimer();
}
//-->
</SCRIPT>
現在到達Redirector.aspx頁面後,頁面會在五秒鐘後自動重定向到新的IP地址。希望這個邏輯能夠幫助那裏的人。
這聽起來像是一件非常危險的事情。您的網絡服務器應該絕對不**具有足夠的權限來更改IP地址,除非這僅用於學術/內部使用。 – Mat 2011-03-15 10:28:30
你的意思是你想將客戶端重定向到另一個主機? – 2011-03-15 10:47:02
Infact我想更改主機地址並將客戶端重定向到同一主機的新地址 – 2011-03-15 11:00:19