I was able to redirect via:
HttpContext.Current.Response.Redirect("http://yoursite.com/somepage.aspx", true);
If not try the following
I have a webpart that links to infopath forms and I do the following for the hyperlink
(Sitehostingthexml + "/_layouts/FormServer.aspx?XmlLocation=/yourlibrary/yuorxml.xml" + "&Source=/_layouts/windowclose.htm&DefaultItemOpen=1&OpenIn=Browser");
Windowclose.htm should reside in "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS"
the code for windowclose.htm is below. What I do is close the form you could do a redirect via javascript.
<html>
<head>
<script language="javascript">
function closewindow() {
window.resizeTo(550, 300)
window.open('','_self','');
window.close();
}
</script>
</head>
<body onload="closewindow();">
<STYLE>
.alert {
background: #fff6bf url(/_layouts/images/exclamation.png) center no-repeat;
background-position: 15px 7%; /* x-pos y-pos */
text-align: left;
padding: 5px 20px 5px 45px;
border-top: 2px solid #ffd324;
border-bottom: 2px solid #ffd324;
}
</STYLE>
<p class="alert"><FONT size=3><b>Please Close the following screen.</b><br></FONT><br>Thank You<br><br></p>
</body>
</html>