저는 첫 번째 ASP.NET MVC 4 애플리케이션을 작성 중이며 내가 한 일이 좋은 방법인가, 과잉 공격인가 아니면 단순한 바보 같은 짓인지에 대해 고심하고 있습니다.폼 게시 모범 사례
나는 일을 할 수있는 방법이 있지만 단지 모범 사례 지침을 찾고 있다는 것을 알고 있습니다.
기본적으로 내 인덱스보기는 간단한 양식을 렌더링합니다. POST에서는 PDF를 만들고 세션 및 ViewBag에 저장하고 확인 작업으로 전달합니다. 보기를 표시하는 데 모든 확인 작업이 사용됩니다 (Confirm.cshtml).
아무도 나를 안내 할 수 있습니까?
컨트롤러
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(FormCollection formCollection)
{
// Create PDF
var doc = new Document();
MemoryStream memoryStream = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream);
doc.Open();
doc.Add(new Paragraph("First Paragraph"));
doc.Add(new Paragraph("Second Paragraph"));
doc.Close();
byte[] docData = memoryStream.GetBuffer(); // get the generated PDF as raw data
// create id and store data in Session
var id = Guid.NewGuid().ToString();
Session[id] = docData;
// store the id in ViewBag
ViewBag.id = id;
return View("Confirm");
}
// Handles the /Home/Confirm view
public ActionResult Confirm()
{
return View();
}
public ActionResult Download(string id)
{
var docData = (byte[]) Session[id];
if (docData == null) {
return HttpNotFound();
}
Session[id] = null;
return File(docData, "application/pdf", "test.pdf");
}
}
보기의 MVC 관점에서보기
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Confirm</title>
</head>
<body>
<div>
<a href="/Home/[email protected]">Download PDF</a>
</div>
</body>
</html>
코드 검토를 원하십니까? –
나는 그렇다고 생각한다 ... – Zinc