【问题标题】:return a string value from post data从发布数据返回一个字符串值
【发布时间】:2012-11-29 16:41:35
【问题描述】:

我正在与一家将数据发布到我的服务器的公司合作,我以这种方式接收 xml 数据:

using (StreamReader reader = new StreamReader(Request.InputStream))
{
    String xmlData = reader.ReadToEnd();
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlData);
}

但是现在他们需要我给他们返回一个值。

我是否像他们发给我的那样发回一个值? 或者当我想为他们的帖子返回一个值时它是如何工作的?

应该返回的值是一个字符串。

用c#构建的项目

【问题讨论】:

  • 你想返回什么样的数据? XML?
  • 这取决于您的供应商。我们无法回答您的问题,因为我们不知道他们接受什么输入。
  • 对不起,他们需要一个字符串值。
  • @syncis 你需要知道的远不止这些。
  • @ReacherGilt 是的,但我只需要了解返回数据的方式。

标签: c# asp.net .net asp.net-mvc-3


【解决方案1】:

要将任何类型的字符串返回给您的供应商,请尝试以下操作:

using (StreamReader reader = new StreamReader(Request.InputStream))
{
    String xmlData = reader.ReadToEnd();
    XmlDocument doc = new XmlDocument();
    doc.LoadXml(xmlData);
    Response.Write("MyString");
}

根据需要在“MyString”中指定任何内容。

【讨论】:

    【解决方案2】:

    您在问题中包含了标签 asp.net-mvc-3,所以我猜您在控制器中。 如果你想返回一个简单的字符串,只需使用Content 方法:

    public ActionResult MyAction() {
        return Content("Your String")
    }
    

    【讨论】:

      【解决方案3】:

      如果只需要返回一个简单的类型,比如整数、字符串或真/假,那么简单使用应该就足够了:

      Response.Write(returnVal);
      

      或类似的。这不一定是“正确”的方法,如果您需要返回一个复杂的类型,例如一个对象,那么您最好将它序列化并以 json 或 XML 的形式返回。这是一个在空白 aspx 页面上使用 xml 作为输出类型的示例:

      我们

      using System;
      
      namespace myProject
      {
          public partial class WebForm1 : System.Web.UI.Page
          {
              protected void Page_Load(object sender, EventArgs e)
              {
                  var o=new customObject
                      {
                          prop1 = "Value1", 
                          prop2 = "Value2", 
                          prop3 = "Value3"
                      };
                  var x = new System.Xml.Serialization.XmlSerializer(o.GetType());
                  Response.ContentType = "text/xml";
                  x.Serialize(Response.Output, o);
              }
          }
      
          public class customObject
          {
              public string prop1;
              public string prop2;
              public string prop3;
          }
      }
      

      希望一切都有意义。

      【讨论】:

        【解决方案4】:

        我是否像他们发给我的那样发回一个值?

        没有。您必须发送回复。

        Or how does it work when i want to return a value for their post?
        

        您所要做的就是从您的操作中返回正确的操作结果。例如。你可以使用ContentResult返回一个简单的字符串,使用JsonResult返回json等。

        【讨论】:

          猜你喜欢
          • 2012-08-21
          • 2020-10-06
          • 2020-10-23
          • 2017-07-08
          • 2013-04-14
          • 1970-01-01
          • 2021-10-22
          • 1970-01-01
          相关资源
          最近更新 更多