Asp.net mvc 在MVC中创建控制器以供评论和反馈
我已经为评论和反馈创建了一个创建控制器。我有一个问题,我无法使用该控制器添加新评论,即,如果我已经针对某个ID添加了评论,它将为我提供编辑该评论的选项。但我希望它保存旧的评论,并允许我添加一个新的评论对该id。请帮助我粘贴我的控制器在这里Asp.net mvc 在MVC中创建控制器以供评论和反馈,asp.net-mvc,linq,asp.net-mvc-4,razor,asp.net-mvc-controller,Asp.net Mvc,Linq,Asp.net Mvc 4,Razor,Asp.net Mvc Controller,我已经为评论和反馈创建了一个创建控制器。我有一个问题,我无法使用该控制器添加新评论,即,如果我已经针对某个ID添加了评论,它将为我提供编辑该评论的选项。但我希望它保存旧的评论,并允许我添加一个新的评论对该id。请帮助我粘贴我的控制器在这里 public ActionResult CreateNote(int id) { YelloAdminDbContext db = new YelloAdminDbContext(); var feedBack =
public ActionResult CreateNote(int id)
{
YelloAdminDbContext db = new YelloAdminDbContext();
var feedBack = db.SaveFeedBack.Find(id);
if (feedBack != null && feedBack.feedback.FeedBackDrpDown == "Interested - Call Back After 1 month")
{
var temp = db.Note.Find(id);
if (temp != null)
{
temp.CallBAckDate = DateTime.Now.AddDays(36);
return View(temp);
}
else
{
return View(new CallNote { LoginId = id, FormFillDate = DateTime.Now, CallBAckDate = DateTime.Now.AddDays(30) });
}
}
if (feedBack != null && feedBack.feedback.FeedBackDrpDown == "Not Available - Call Back After One Day")
{
var temp = db.Note.Find(id);
if (temp != null)
{
temp.CallBAckDate = DateTime.Now.AddHours(15);
return View(temp);
}
else
{
return View(new CallNote { LoginId = id, FormFillDate = DateTime.Now, CallBAckDate = DateTime.Now.AddDays(1) });
}
}
if (feedBack != null && feedBack.feedback.FeedBackDrpDown == "Currently using yello - Call Back After Two Months")
{
var temp = db.Note.Find(id);
if (temp != null)
{
temp.CallBAckDate = DateTime.Now.AddDays(10);
return View(temp);
}
else
{
return View(new CallNote { LoginId = id, FormFillDate = DateTime.Now, CallBAckDate = DateTime.Now.AddMonths(2) });
}
}
return View(new CallNote { LoginId = id, FormFillDate = DateTime.Now, CallBAckDate = null});
}
public bool DoesExist(int loginId)
{
YelloAdminDbContext db = new YelloAdminDbContext();
if (db.Note.Find(loginId) == null)
{
return false;
}
return true;
}
[HttpPost]
public ActionResult CreateNote(CallNote callnote)
{
YelloAdminDbContext db = new YelloAdminDbContext();
//if (DoesExist(callnote.LoginId))
//{
// db.Entry(callnote).State = EntityState.Modified;
// db.SaveChanges();
// return JavaScript("alert('success');");
//}
//else
if (ModelState.IsValid)
{
db.Note.Add(callnote);
db.SaveChanges();
return Content("Success");
}
return Content("Error");
}
下面是创建注释视图
@model MyYello.Admin.Models.CallNote
@{
ViewBag.Title = "CreateNote";
}
@*<body onload="JavaScript:AutoRefresh(30000);">*@
<body>
<h2>Comments and Feed Back</h2>
<div>
<h3>Curent Feed Back Value
<br />
@{Html.RenderAction("DisplayFeedBack", "Admin");}
</h3>
@{Html.RenderAction("SelectFeedBack", "Admin");}
</div>
@using (Html.BeginForm("CreateNote", "Admin", FormMethod.Post))
{@Html.ValidationSummary(true);
<fieldset>
@Html.HiddenFor(item => item.LoginId)
@Html.HiddenFor(item => item.FormFillDate)
<legend>Comments and Feedback</legend>
<div class="editor-label">
@Html.LabelFor(item => item.Comments, "Staff Comments")
</div>
<div class="editor-field">
@Html.TextAreaFor(item => item.Comments)
@Html.ValidationMessageFor(item => item.Comments)
</div>
<div class="editor-label">
@Html.LabelFor(item => item.FeedBackBox, "Custommer Feedback")
</div>
<div class="editor-field">
@Html.TextAreaFor(item => item.FeedBackBox)
@Html.ValidationMessageFor(item => item.FeedBackBox)
</div>
<div class="editor-label">
@Html.LabelFor(item => item.CallBAckDate, "Call Back Date")
</div>
<div class="editor-label">
@Html.TextBoxFor(item => item.CallBAckDate)
@Html.ValidationMessageFor(item => item.CallBAckDate)
</div>
<p>
<input type="Submit" value="Create" id="Create" />
</p>
</fieldset>
}
</body>
<script type="text/JavaScript">
<!--
function AutoRefresh(t) {
setTimeout("location.reload(true);", t);
}
</script>
这令人困惑。callnote与注释是否相同?是的,它的名称为callnote。我认为我们需要查看CreateNote视图,或者至少查看发布到操作方法的表单。视图很简单,我现在已经添加了它。