درود
میخوام مقدار ID پستی که براش کامنت گذاشته میشه رو به اکشن InsertComment بفرستم تا مقدارش در فیلد id_post جدول کامنت ها ذخیره بشه اما هر روشی که بکار گرغتم نشد که نشد!! این اروری که میده واسه چیه ؟و باید چجوری آی.دی پست رو تو اکشن درج دیدگاه بدست بیارم؟
اکشن های درج کامنت
public ActionResult InsertComment(object id)
{
ViewBag.idp = id;
return PartialView();
}
[HttpPost]
public ActionResult InsertComment(Comment cmnt)
{
if (Session["Captcha"] == null || Session["Captcha"].ToString() != cmnt.Capcha)
{
return MessageBox.Show("کد امنیتی درست نمی باشد!", MessageType.Alert, true);
}
CommentRepository rpCmnt = new CommentRepository();
if (ModelState.IsValid)
{
cmnt.Date = DateTime.Now.ToPersianDate().ToShortDateString();
cmnt.Time = DateTime.Now.ToPersianDate().ToShortTimeString();
cmnt.Is_show = false;
cmnt.Likes = 0;
cmnt.UnLikes = 0;
if (rpCmnt.Add(cmnt))
{
return MessageBox.Show("دیدگاه شما به درستی درج شد", MessageType.Success, true);
}
else
{
return MessageBox.Show("دیدگاه شما به درستی درج نشد", MessageType.Success, true);
}
}
else
{
return MessageBox.Show(ModelState.GetErrors(), MessageType.Warning, true);
}
}
پارشال ویو مربوط به فرم درج کامنت
@model Models.Comment
@using (Ajax.BeginForm("InsertComment", "Home", new AjaxOptions { HttpMethod = "Post", Url = "/Home/InsertComment" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "")
@Model.id_post= ViewBag.idp;
<div class="box-input">
<i class="fa fa-user"></i>
@Html.TextBoxFor(model =>model.Name, new { @class = "txt-cmnt" })
</div>
<div class="box-val">
@Html.ValidationMessageFor(p =>p.Name)
</div>
<div class="box-input">
<i class="fa fa-at"></i>
@Html.TextBoxFor(model => model.Email, "رایانامه", new { @class = "txt-cmnt" })
</div>
<div class="box-val">
@Html.ValidationMessageFor(p => p.Email)
</div>
<div class="box-input">
<i class="fa fa-link"></i>
@Html.TextBoxFor(model => model.Blog, "بلاگ", new { @class = "txt-cmnt" })
</div>
<div class="box-input">
<i class="fa fa-pencil"></i>
@Html.TextAreaFor(model => model.Text, new { rows = "10", @class = "txt-area" })
</div>
<div class="box-val">
@Html.ValidationMessageFor(p => p.Text)
</div>
<div class="box-input">
<i class="fa fa-barcode"></i>
<img src="@Url.Action("_CaptchaImage","Home")" id="capchaimg" class="img-capcha" alt="Alternate Text" />
<button type="submit" class="ref-capcha" id="refresh"><i class="fa fa-refresh"></i></button>
@Html.TextBoxFor(model => model.Capcha, "", new { @class = "txt-capcha", id = "txt-capcha" })
</div>
<div class="box-val">
@Html.ValidationMessageFor(p => p.Capcha)
</div>
<div class="box-input">
<button class="btn-cmnt" type="submit">درج دیدگاه</button>
</div>
}
view اصلی(نمایش پست)که دارم ازین طریق آی.دی پست روبفرستم به اکشن مربوطه
<!--درج دیدگاه-->
<div class="box-new-cmmnt">
@Html.Action("InsertComment", "Home", new {id=Model.oPost.ID });
</div>
و خطایی هم که میده اینه
Untitled.png
پیغام خطا هم تو ویژوال استودیو اینه:
Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpH andlerAsyncWrapper'.
بگید چیکار باید کنمکلافم کرده