Tôi đang cố gắng chuyển mẫu của mình Danh sách < Mô hình.Statement> statementList từ hành động này sang hành động khác nhưng tôi nhận giá trị null trong bộ điều khiển thứ hai. Xin vui lòng đề nghị những gì là sai ở đây. Thậm chí đã thử với:truyền mô hình từ một hành động đến một hành động khác trong cùng một bộ điều khiển
return RedirectToAction("WriteInTemplate", new { statementList = statementList });
Xin vui lòng trợ giúp.
public ActionResult SendPdfStatement(string InvoiceNumber)
{
try
{
InvoiceNumber = InvoiceNumber.Trim();
ObjectParameter[] parameters = new ObjectParameter[1];
parameters[0] = new ObjectParameter("InvoiceNumber", InvoiceNumber);
List<Models.Statement> statementList = new List<Models.Statement>();
statementList = _db.ExecuteFunction<Models.Statement>("uspInvoiceStatement", parameters).ToList<Models.Statement>();
//WriteInTemplate(statementList);
return RedirectToAction("WriteInTemplate", statementList);
}
catch (Exception e)
{
InvoiceSearchTool.Models.udtExceptionTable exception = new udtExceptionTable();
exception.MethodName = "SendPdfStatement";
exception.Exception = e.ToString();
exception.Date = DateTime.Now;
DYNAMICS_EXTEntities db = new DYNAMICS_EXTEntities();
db.AddToudtExceptionTables(exception);
db.SaveChanges();
return View("Error");
}
}
public ActionResult WriteInTemplate(List<Models.Statement> statementList)
{
try
{
string invoiceNumber = statementList.FirstOrDefault().Invoice.ToString().Trim();
...................snip..........
return RedirectToAction("CreateMessageWithAttachment", "email", invoiceNumber);
}
catch (Exception e)
{
InvoiceSearchTool.Models.udtExceptionTable exception = new udtExceptionTable();
exception.MethodName = "WriteInTemplate";
exception.Exception = e.ToString();
exception.Date = DateTime.Now;
DYNAMICS_EXTEntities db = new DYNAMICS_EXTEntities();
db.AddToudtExceptionTables(exception);
db.SaveChanges();
return View("Error");
}
}
Tại sao không làm trở WriteInTemplate (statementList); thay thế? Bạn có lẽ nên di chuyển các chức năng phổ biến trong một phương pháp khác. –
@amit_g là chính xác. chỉ cần "trả về WriteInTemplate (statementList);" Đó cũng là ActionResult nên nó sẽ hoạt động như mong muốn. –