Je reçois l'erreur suivante lors du chargement d'un fichier.Comment télécharger l'image
Le dictionnaire des paramètres contient un entrée nulle pour le paramètre 'category_id' de type non annulable 'System.Int32' pour la méthode « System.Web.Mvc.ActionResult addProduct (Int32, System.String , Simple, System.String, System.String, System.String, System.String, System.String, System.String) 'dans ' Ecommerce.Controllers.AdminController '. Pour rendre un paramètre facultatif, son type doit être un type de référence ou un type Nullable. Nom du paramètre: paramètres
J'utilise une boîte de dialogue.
La vue
<script type="text/javascript">
$(function() {
$("#dialog").dialog({
bgiframe: true,
height: 140,
modal: true,
autoOpen: false,
resizable: false
})
});
</script>
<div id="dialog" title="Upload files">
<% using (Html.BeginForm("Upload", "File", FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>
<p><input type="file" id="fileUpload" name="fileUpload" size="23"/> </p>
<p><input type="submit" value="Upload file" /></p>
<% } %>
</div>
<p>
<label for="image_name">image_name:</label>
<a href="#" onclick="jQuery('#dialog').dialog('open'); return false">Upload File</a>
<%= Html.ValidationMessage("image_name", "*") %>
</p>
L'action du contrôleur
public ActionResult AddProduct(int category_id, string product_name, float product_price, string product_desc, string weight, string image_name, string img_content, string available_qty, string isFeature)
{
foreach (string inputTagName in Request.Files)
{
HttpPostedFileBase file = Request.Files[inputTagName];
if (file.ContentLength > 0)
{
string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads"), Path.GetFileName(file.FileName));
string filecontent = Path.Combine(HttpContext.Server.MapPath("../Uploads"), Path.GetFileName(file.ContentType));
image_name = Path.GetFileName(file.FileName);
img_content = Path.GetFileName(file.ContentType);
file.SaveAs(filePath);
}
}
AdminImplementation _adminImplementation = new AdminImplementation();
Boolean isfeature = Convert .ToBoolean(isFeature);
if (isfeature)
{
isFeature = "Featured";
}
else
{
isFeature = "NotFeatured";
}
int i = _adminImplementation.addproduct(category_id, product_name, product_price, product_desc, weight,image_name ,img_content ,available_qty ,isFeature);
ViewData["succm"] = "Product added successfully";
return View();
}
S'il vous plaît suggérer quelques réponses utiles.
Merci
Ritz
Nous allons également avoir besoin de la signature de la méthode. – Kezzer
Maintenant que j'ai corrigé votre réponse, veuillez fournir le ViewResult qui restitue la page initialement. J'ai besoin de savoir où sont les valeurs manquantes. De plus, si vous ne savez pas pourquoi cette erreur se produit, je vous recommande de visiter www.asp.net/mvc/ car il semble que vous ne compreniez pas certains éléments de base des architectures MVC dans ASP.NET. – Kezzer