• 在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的操作。。。
    
    }
  • 相关阅读:
    BIND简易教程(2):BIND视图配置
    BIND简易教程(1):安装及基本配置
    大学本科计算机专业应该学点什么?
    Bukkit之yaml动态读取
    将指定世界中的指定位置的Block转化为箱子
    iframe中父页面与子页面的传值方法
    ajax提交数据
    a标签响应onclick事件,并且不执行href动作
    jsp重新打开一个新的页面
    java.lang.NoClassDefFoundError: org/hibernate/QueryTimeoutException
  • 原文地址:https://www.cnblogs.com/shenyixin/p/4630698.html
Copyright © 2020-2023  润新知