سلام من میخوام ارسال دیدگاه بسازم واسه محصولم ولی نمیدونم چجوری ، یکم برام گنگه
اگه میشه راهنماییم کنید
سلام
دو سه تا سر بزن از اونها ایده بگیر
موفق باشی
لازمه که برای این کار جدولی درست کنید در دیتابیس تون و بین اون و محصولتون ارتباط ایجاد کنید بعدا با یک Action میتونید دیدگاه ها رو ارسال کنید اگر متوجه نشدید بگید تا مثالی رو براتون قرار بدم.
موفق باشید
آقا صالح بازم شرمندتون شدم اگه زحمتی نیست قربان
اگر مدل رو به صورت زیر در نظر بگیریم:
public class Comment { public Comment() { this.MemberId = int.Parse(HttpContext.Current.User.Identity.Name); this.CreateDateTime = DateTime.Now; } public int Id { get; set; } public int PartId { get; set; } [Editable(false)] public int MemberId { get; set; } [Display(Name="نظر")] [Required(ErrorMessage="*")] public string Body { get; set; } [Editable(false)] public DateTime CreateDateTime { get; set; } public virtual Part Part { get; set; } public virtual Member Member { get; set; } }
PartId در واقع id کالایی هست که میخوایم براش ارسال نظر داشته باشیم.
بعد از لازمه که داخل ویو که کالا قرار داره یک ویو پارشیال برای ارسال نظرات داشته باشیم
این صفحه همون صفحه اصلیه که کالا قرار داره باشه:
@model WebApplication11.Models.Import @{ ViewBag.Title = "FullView"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>مشخصات</h2> <div class="col-sm-4"><img src="/Photos/ViewPhoto/@Model.Id" width="300" alt="Alternate Text" /></div> <hr /> <div class="col-sm-4" style="background-color:lavender;">@Html.DisplayNameFor(model => model.Part.PartType.Title)</div> <div class="col-sm-4">@Html.DisplayFor(modelItem => Model.Part.Manufacture.Title)</div> <hr /> <div class="col-sm-4" style="background-color:lavender;">@Html.DisplayNameFor(model => model.Part.Name)</div> <div class="col-sm-4">@Html.DisplayFor(modelItem => Model.Part.Name)</div> <hr /> <div class="col-sm-4" style="background-color:lavender;">@Html.DisplayNameFor(model => model.Part.PartType.Title)</div> <div class="col-sm-4">@Html.DisplayFor(modelItem => Model.Part.PartType.Title)</div> <hr /> <div class="col-sm-4" style="background-color:lavender;">@Html.DisplayNameFor(model => model.Part.Detail)</div> <div class="col-sm-4">@Html.DisplayFor(modelItem => Model.Part.Detail)</div> <hr /> <div class="col-md-8"> @Html.ActionLink("خرید", "Confrim", "Baskets", new { id = Model.Id }, new { @class = "btn btn-default" }) </div> <hr /> <hr /> @if (User.Identity.IsAuthenticated) { @Html.Action("Comment", "Imports") } else { <div class="alert alert-warning">برای ارسال نظر باید @Html.ActionLink("عضو","Create","Member") ویا @Html.ActionLink("وارد","Login","Account") سایت شوید</div> } @if (Model.Comments.Count()!=0) { @Html.Action("ViewComment", "Comment", new { id = Model.Id }) }
از اینجا به بعد کافیه که متد های لازم برای نمایش و درج نظر هست رو به صورت پارشیال بنویسیم
public ActionResult Comment(int id) { ViewBag.ImportId = id; return PartialView(); }
و اینم هم برای نمایش نظرات:
public ActionResult ViewComment(int id) { var d = db.Comments.Find(id); return PartialView(db.Comments.OrderByDescending(s=>s.CreateDateTime).Where(s=>s.PartId==id).ToList()); }
امیدوارم مفید بوده باشه موفق باشید
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)