首先感谢马特的建议。我在这里发布解决方案来帮助其他面临同样问题的程序员。
我已经通过更改我的页面后面的代码中的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