В моей .aspx:Вызов метода из .ashx -> response.write файла
public static void DoStuff(XmlDocument doc)
{
HttpResponse response = HttpContext.Current.Response;
string xmlString = doc.InnerXml;
string fileName = "ExportedForm.xml";
response.StatusCode = 200;
response.AddHeader("content-disposition", "attachment; filename=" + fileName);
response.AddHeader("Content-Transfer-Encoding", "binary");
// response.AddHeader("Content-Length", _Buffer.Length.ToString());
response.ContentType = "application-download";
response.Write(xmlString);
}
в моем handler.ashx:
private void GenerateXml()
{
var JsonXmlData = HttpContext.Current.Request["objectToSend"];
XmlDocument doc = JsonConvert.DeserializeXmlNode(JsonXmlData);
SystemAuditView.DoStuff(doc); //systemauditview is the .aspx
}
Если я называю DoStuff
метод из события щелчка она работает. Но когда я называю это кодом, ничего не происходит. Полагаю, мне почему-то нужно вызвать обратную передачу? Или в чем проблема? Спасибо
Не могли бы вы дать нам пример кода того, как вы его вызываете из события click и как вы его вызываете из кода (каким способом)? –
@ RăzvanPanda 'SystemAuditView.DoStuff (doc);' from code beind. По щелчку - это стандартное событие click на кнопке asp: – Johan
. Измените свой ответ, добавив код, который вы используете для кнопки asp: и код, который вы используете в обработчике OnClick. На каком событии вы называете 'SystemAuditView.DoStuff (doc);' от кода позади? –