Я работаю над веб-приложением mvc .net. У меня есть база данных, в которой есть трудности (таблица называется трудной), и у каждой сложности есть комментарии. На мой взгляд, я хочу показать все трудности с соответствующими комментариями и текстовой областью для нового комментария и кнопкой для ее отправки. Я создал класс модели, содержащий трудности и комментарии, строку var для содержимого нового комментария и строку var для имени человека, который хочет прокомментировать. Моя проблема в том, что я не смог представить новый комментарий.Показать комментарии asp mvc
Вот моя модель класса
public class difficultecommentaires
{
public difficulte diff { get; set; }
public IList<commentaire> comms { get; set; }
public string pseudo { get; set; }
public string nouveau { get; set; }
}
Вот мой метод действия для подачи комментарий
[HttpPost]
public ActionResult NewComment(int id_diff, string pseudo, string contenu)
{
difficulte d = new difficulte();
using (BDGestionEntities bd = new BDGestionEntities())
{
var query = from j in bd.difficultes where (j.id_diff == id_diff) select j;
foreach (var k in query)
d = k;
}
commentaire com = new commentaire();
com.pseudo = pseudo;
com.difficulte= d;
com.contenu = contenu;
db.AddTocommentaires(com);
db.SaveChanges();
ObtenirDifficulte(id_diff);
return View();
}
А вот мой взгляд
@model GestionProjet.Models.difficultecommentaires
@{
ViewBag.Title = "ObtenirDifficulte";
}
<h2>Détails</h2>
<fieldset>
<table>
<tr><td>
<label><b>Titre de la difficulté :</b></label></td><td>@Html.DisplayFor(m=>m.diff.titre)</td></tr>
<tr><td>
<label><b>Description :</b></label></td><td>@Html.DisplayFor(m=>m.diff.description)</td></tr>
</table>
<table>
@foreach (var k in Model.comms)
{
<tr><td>@k.pseudo a dit :</td><td>
@k.contenu</td></tr>
}
</table>
<br />
<table>
<tr><label><b>Nouveau commentaire</b></label></tr>
<tr>
<td><b>Nom :</b></td><td>@Html.TextBoxFor(m=>m.pseudo)</td>
</tr>
<tr>
<td><b>Commentaire :</b></td><td>@Html.TextAreaFor(m=>m.nouveau)</td>
</tr>
</table>
@Html.ActionLink("Ajouter", "NewComment", new { Model.diff.id_diff, Model.pseudo , Model.nouveau})
</fieldset>
<p>
<a href="@Url.Action("Index")"><img src="~/Images/retour.png" alt =""/></a>
</p>
А вот моя модель (часть трудности)
Я думаю, что проблема заключается в параметрах моей ссылки действий. I ошибка нулевого значения. Как я могу это решить.
я получил ошибку нулевое значение. Параметры неверно переданы. – Kira
попробуйте изменить объявление формы на @ Html.BeginForm («Ajouter», «NewComment», FormMethod.Post), а затем используйте @ Html.HiddenFor (m => m.Diff.id_diff) – MiiisterJim
или попробуйте изменить ваше действие, чтобы принять модель и оставить привязку модели .net, чтобы заботиться о остальном, например публичный ActionResult NewComment (модель трудных моделей) – MiiisterJim