C# HttpWebResponse-避免保存文件对话框

C# HttpWebResponse-避免保存文件对话框,c#,.net,asp.net-mvc,asp.net-mvc-3,stream,C#,.net,Asp.net Mvc,Asp.net Mvc 3,Stream,我有以下方法从远程服务器读取响应 public string GetResponse() { string url = "http://remoteserver.com/getdata.jsp?id=515"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWeb

我有以下方法从远程服务器读取响应

public string GetResponse()
        {
            string url = "http://remoteserver.com/getdata.jsp?id=515";
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream resStream = response.GetResponseStream();
            Encoding enc = System.Text.Encoding.GetEncoding(1252);
            StreamReader loResponseStream = new
            StreamReader(response.GetResponseStream(), enc);

            string ServerResponse = loResponseStream.ReadToEnd();

            loResponseStream.Close();
            response.Close();
            return ServerResponse;
        }
在我的
actionresult
中,我调用这个方法如下

public ActionResult Index()
{
  string resp= GetResponse();

   return View();
}

现在,视图浏览器不再显示,而是提示我保存文件。如何避免这种情况并以正常方式显示视图

您可以使用自定义操作结果

public class TextActionResult : ActionResult
{
    readonly string _response;

    public TextActionResult() { }

    public TextActionResult(string response)
    {
        _response = response;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        context.HttpContext.Response.Clear();
        context.HttpContext.Response.ContentType = "text/html";  //text/plain?
        context.HttpContext.Response.Write(_response);
        //you may want further tweaks here
        }
}
你的控制器呢

public TextActionResult Index()
{
   string resp= GetResponse();
   return new TextActionResult (resp);
}
ps-看看如何使用WebClient,例如

string url = "http://remoteserver.com/getdata.jsp?id=515";
using (var client = new WebClient())
{
     client.Encoding = System.Text.Encoding.GetEncoding(1252);
     var result = client.DownloadString(url);
}
return result;
试试这个

public ActionResult Index()
{
    string resp= GetResponse();

    return Content(resp);
}

您需要添加
Response.ContentType=“text/HTML”
;这给了我一个错误,这个类没有实现这个属性