我有一个从视图页面调用控制器方法的需求。点击下面的链接应该调用该方法。点击动作链接打开新窗口链接
@Html.ActionLink(item.InvoiceNumber, "SendPdfStatement", "Invoice",
new { item.InvoiceNumber }, new { target = "_blank" })
方法签名是:
public void SendPdfStatement(string InvoiceNumber)
{
InvoiceNumber = InvoiceNumber.Trim();
ObjectParameter[] parameters = new ObjectParameter[1];
parameters[0] = new ObjectParameter("InvoiceNumber", InvoiceNumber);
List<Models.Statement> list = new List<Models.Statement>();
list = _db.ExecuteFunction<Models.Statement>("uspInvoiceStatement", parameters).ToList<Models.Statement>();
var statementResult = _db.ExecuteFunction<Models.Statement>("uspInvoiceStatement", parameters);
Models.Statement statement = statementResult.SingleOrDefault();
pdfStatementController.WriteInTemplate(statement);
}
现在的问题是,当我点击链接,打开一个空白窗口。我知道这是new { target = "_blank" }
。如果我通过null
它的地方,我的页面链接变成空白。我应该通过什么方式让我的页面保持原样,并且不会出现新的空白窗口。
的问题是在你的控制器的方法,而不是在这个网站助手调用。看来你的方法正在返回一个空的结果。您应该向我们显示缺少的代码。顺便说一下,您的方法应该在'InvoiceController'类中被称为'SendPdfStatement'。你确定你在检查正确的吗? –
该方法仅在InvoiceController中被称为SendPdfStatement。已经把方法 – 14578446