我正在編寫我的第一個ASP.NET MVC 4應用程序,並且正在努力解決我所做的是否是一個很好的方法,這樣做,矯枉過正或簡單愚蠢。表單發佈最佳實踐
我知道有一百萬種方法可以做事,但只是尋找一些最佳實踐指導。
基本上我的索引視圖呈現一個簡單的形式,在POST上我創建一個PDF,將它存儲在會話和ViewBag中並將它傳遞給Confirm操作。所有確認操作用於顯示視圖(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");
}
}
查看
@{
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