Di baris ini:
@Html.ActionLink("Reply", "BlogReplyCommentAdd", "Blog",
new { blogPostId = blogPostId, replyblogPostmodel = Model,
captchaValid = Model.AddNewComment.DisplayCaptcha })
Saya mendapatkan error runtime berikut di blogPostId:
Kamus parameter berisi entri null untuk parameter 'blogPostId' tipe non-nullable 'System.Int32' untuk metode 'System.Web.Mvc.ActionResult BlogReplyCommentAdd (Int32, Nop.Web.Models.Blogs.BlogPostModel, Boolean)' di 'Nop.Web.Controllers.BlogController'. Parameter opsional harus berupa tipe referensi, tipe nullable, atau dideklarasikan sebagai parameter opsional. Nama parameter: parameter
Saya sudah menetapkan nilai untuk ini di atas seperti
@{
var blogPostId = Model.Id;
}
Pengontrol Saya:
public ActionResult BlogReplyCommentAdd(int blogPostId, BlogPostModel model, bool captchaValid)
{}
Apakah saya melakukan sesuatu yang salah? Tolong beri saya contoh.
sumber
controllerName
danactionName
[HttpPost]
tindakan karena tautan tersebut mengirimkan permintaan GET.[HttpPost]
berarti tindakan pengontrol Anda hanya dapat diakses dengan permintaan POST.Saya harus melewati dua parameter seperti:
Cara ini:
akan menghasilkan url ini
Saya menggunakan metode solusi dengan menggabungkan parameter dua dalam parameter satu dan saya mendapatkan apa yang saya inginkan:
Dan saya mendapatkan:
sumber
Anda dapat memberikan nilai dengan menggunakan di bawah ini.
Pengontrol:
Dan URL-nya terlihat seperti
sumber
Masalahnya harus dengan nilai Model.Id yang null. Anda dapat mengonfirmasi dengan memberikan nilai, misalnya
Jika kesalahan hilang, Anda perlu memastikan bahwa Id model Anda memiliki nilai sebelum meneruskannya ke tampilan
sumber