<form method="post" name="upload" enctype="multipart/form-data"
action="http://localhost:2518/Web/CrossPage.aspx" >
<input type="file" name="filename" />
<input type="submit" value="Upload Data File" name="cmdSubmit" />
</form>
但是当我使用以下代码,并POST数据时,可以在父页面中获得Response.write("Hey")的输出。
HttpWebRequest requestToSender = (HttpWebRequest)WebRequest.Create("http://localhost:2518/Web/CrossPage.aspx");
requestToSender.Method = "POST";
requestToSender.ContentType = "multipart/form-data";
HttpWebResponse responseFromSender = (HttpWebResponse)requestToSender.GetResponse();
string fromSender = string.Empty;
using (StreamReader responseReader = new StreamReader(responseFromSender.GetResponseStream()))
{
fromSender = responseReader.ReadToEnd();
}
在CrossPage.aspx中,我有以下代码。
if (!Page.IsPostBack)
{
NameValueCollection postPageCollection = Request.Form;
foreach (string name in postPageCollection.AllKeys)
{
Response.Write(name + " " + postPageCollection[name]);
}
HttpFileCollection postCollection = Request.Files;
foreach (string name in postCollection.AllKeys)
{
HttpPostedFile aFile = postCollection[name];
aFile.SaveAs(Server.MapPath(".") + "/" + Path.GetFileName(aFile.FileName));
}
Response.Write("Hey");
}
我在父页面的Page_Load事件中没有任何代码。
可能是什么原因?我需要使用第一种情况将“hey”写入父页面。两个应用程序属于不同的域。
编辑:“Hey”来自CrossPage.aspx。我需要将其写回到父页面。
当我使用表单操作进行发布时,在处理CrossPage.aspx中的Page_Load()事件后,URL指向“http://localhost:2518/Web/CrossPage.aspx”,这意味着应用程序仍然位于CrossPage.aspx而没有移动到父页面。