ich mit einem seltsamen Verhalten bin stecken .. Ich habe eine Aktion, die Excel-Datei zurückgibt:Wieder .. Die Parameter Wörterbuch einen Null-Eintrag für den Parameter enthält
public ActionResult AgentPortfolioReport(DateTime fromDate, DateTime toDate)
{
...
return File(ms.ToArray(), "application/vnd.ms-excel", "SomeReport.xlsx");
}
Dann habe ich in meiner Ansicht nach setzen:
@Html.ActionLink("Get Report", "AgentPortfolioReport", new { fromDate = DateTime.Today.AddDays(-15), toDate = DateTime.Today }, new { @class = "iin-submit", id = "loadPortfolio" })
Alles funktioniert gut, Datei wird heruntergeladen. Dann kommen variable Daten ins Spiel. Ich versuche, mit einem sauberen Javascript mit einer Funktion zu machen:
Und Boom! Ich erhalte eine Ausnahme:
The parameters dictionary contains a null entry for parameter 'toDate' of non-nullable type 'System.DateTime' for method 'System.Web.Mvc.ActionResult AgentPortfolioReport(System.DateTime, System.DateTime)' in 'AgentsNetwork.Controllers.ReportsController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters
Ich habe auch versucht, es so mit einem Formular zu arbeiten:
@using (Html.BeginForm("AgentPortfolioReport", "Reports", FormMethod.Get))
{
<div>
Укажите период:<br/>
<label for="fromDate">C </label>
<input id="fromDate" name="fromDate" type="text" />
<label for="toDate"> по </label>
<input id="toDate" name="toDate" type="text" />
</div>
<p>
<input type="submit" value="Get report" />
</p>
}
Aber das Ergebnis ist das gleiche. Das Hinzufügen eines NULL-ID-Parameters hat nicht geholfen. Bitte geben Sie mir einen Hinweis, was falsch ist.
Wann wird die Ausnahme auftreten? Wann wird das Formular gepostet? Verwenden Sie auch benutzerdefinierte Ordner? – newmanth
@newmanth Anfrage selbst trifft keine Aktion. Wenn ich also auf einen Knopf klicke, bekomme ich diesen Fehler. Keine benutzerdefinierten Modellbinder ist Benutzer. Das Seltsame ist, dass mit Acitonlink alles gut funktioniert. – IDeveloper
Also, ich denke, Ihr Problem könnte in den Globalisierungseinstellungen liegen. In welchem Format sind deine Datumseinträge? Verwenden Sie beispielsweise "30.4.2016" oder "30/4/2016" oder etwas anderes? – newmanth