在asp.net 中应用POST传递和接收XML文件以及参数.(转)

使用POST方式可以向别的页面发送请求,并获取返回结果。

可以从一个页面发送POST到另一个页面,也可以在winform工程中使用HTTPRequest发送POST到一个页面。我们拿ASP.NET的aspx页面做个例子,从一个aspx页面POST.aspx ,发送请求到Receive.aspx页面。

1.首先,建立工程,添加两个页面,Post.aspx和Receive.aspx

   在post页面中放一个BUTTON,在它的click方法中我们可以写这样的一段代码:

private void Button1_Click(object sender, System.EventArgs e)
  {

//XML文件路径

  string xmlFileName = Server.MapPath("File/Frame.xml");

   HttpWebRequest req = null;
   try
   {
    //设置要POST到的页面URL,这里中文参数或者有特殊符号的,要进行编码.
    string url = "http://localhost/Receive.aspx" +
                             "?DwgFileName="+HttpUtility.UrlEncode("NNN+10111452505252706++2.bmp,NNN+10111457375757706++13.bmp")+
              "&PltFileName="+HttpUtility.UrlEncode("NNN+10110934363434706++主页.JPG");

   //创建一个HttpWebRequest对象
    req =  (HttpWebRequest) HttpWebRequest.Create(url);

   //设置它提交数据的方式post
    req.Method = "POST";

   //设置 Content-type HTTP 标头的值
    req.ContentType = "text/xml";// "application/x-www-form-urlencoded;charset=gb2312";

    using (StreamWriter requestWriter = new StreamWriter(req.GetRequestStream()))
    {

    //定义一个StreamReader对象,用于读取xml文件的内容
     StreamReader reader = new StreamReader(xmlFileName);
     string ret = reader.ReadToEnd();
     reader.Close();

     requestWriter.WriteLine(ret);//将读取的内容写入到RequestStream中。
    }
    Response.Write("发出去了");
   }
   catch(Exception ex)
   {
    throw ex;
   }
   finally{

   }

}

2. 再来看一下接收页面Receive.aspx

    在Receive.aspx页面的PageLoad方法中进行接收POST过来的请求。

private void Page_Load(object sender, System.EventArgs e)
  {
   if(Request.RequestType == "POST")
   {
    //Response.ContentType = "text/xml";

    string pltFileName = Request.QueryString["PltFileName"];//PLT文件名
    string dwgFileName = Request.QueryString["DwgFileName"];//dwg文件名列表 :111.dwg,222.dwg,333.dwg.....

    //接收并读取POST过来的XML文件流
    StreamReader reader = new StreamReader(Request.InputStream);
    String xmlData = reader.ReadToEnd();
        try
    {
     //声明一个XMLDoc文档对象,LOAD()xml字符串
     XmlDocument doc = new XmlDocument();
     doc.LoadXml(xmlData);
     //得到XML文档根节点
     XmlElement root = doc.DocumentElement;

     .....进行自己对XML的操作。。。

}
时间: 2024-10-08 10:13:27

在asp.net 中应用POST传递和接收XML文件以及参数.(转)的相关文章

不使用ASP.NET中的服务器控件将如何上传文件?

遇到文件的上传时,可能会有大部分的开发者喜欢使用服务器控件,虽然很方便,但是却不能很好的控制,不具灵活性. 现给出例子,使用html标签语言灵活的控制文件的上传. 1.html部分 <input type="file" id="uploadFile" name="uploadFile" style="display: none;"/> <a href="#" id="upload

ASP.NET中母版页引用外部js或css文件无效,提示对象未定义解决方法

最近做网站用了一个js+css实现的带有二级菜单的导航条,在母版页创建好后,子页面调用出现了许多奇怪的问题,多方查证后的最终解决方案和大家分享下.... 1.路径问题 如果是一个单独的aspx页面调用此文件路径会是 1 <link type="text/css" rel="stylesheet" href="navigator/css/shou.css" /> 2 <script type="text/javascri

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本loadrunnerstreamfilestring测试 .controller中运行脚本时无法查看输出log,可以手动写入代码输出log到外部文件,通过查看该log获得相关信息: 以下脚本是为了分析场景中多用户运行时参数列表如何取值(id,groupid,sid,uname),设置集合点后通过查看时

Spring讲解二:Spring中的Bean配置1---基于XML文件的方式

一.在Spring的IOC容器中配置Bean 在xml文件中通过bean节点配置bean id:Bean的名称: (1) 在IOC容器中必须是唯一的 (2) 若id没有指定,Spring自动将权限限定性类名作为bean的名字 (3) id可以指定多个名字,名字之间可以用逗号.分号.或空格分隔 二.Spring容器 在Spring IOC容器读取Bean配置创建Bean实例之前,必须对它进行初始化.只有在容器实例化后,才可以从IOC容器中获取Bean实例并使用. Spring提供了两种类型的IOC

C#中常用的几种读取XML文件的方法

XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具.XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用.微软也提供了一系列类库来倒帮助我们在应用程序中存储XML文件. “在程序中访问

asp.net中bin目录下的 dll.refresh文件

首先找到了这篇文章http://www.cnblogs.com/haokaibo/archive/2010/07/31/1789342.html 然后找到一篇英文的文章http://monsur.xanga.com/2006/02/03/dll-refresh-and-asp-net/ The question is so simple I wonder why I haven’t encountered it before:  If web projects in Visual Studio

myeclipse中配置schemaLocation路径,实现xml文件自动提示

在开发中,XML的xsi:schemaLocation路径都是指向网络,但是这个网络地址有时候很不给力导致工程检验XML格式缓慢.所以有必要再myeclipse中配置本地xsd文件路径,以免每次校验都需要下载网络路径中的文件.下面是相关配置方法(myeclipse 10为例): 1.进入:Window   ->  Preferences  ->  MyEclipse  ->Files and Editors -> XML -> XML Catalog ,最终界面如下图: 2.

搜索某个目录下所有jar包中的mapper目录下的xml文件

rm -rf /mapper/* find /data/app/app-*/lib ! -path "*xnpush*" ! -path "*portal*" ! -path "*defendcheck*" ! -path "*bak*" ! -path "*canal*" ! -path "*es*" ! -path "*task*" ! -path "*

使用js 读取excl中的内容并写入到xml文件中

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-