所以我在MVC中很新,我得到了Mission模型:
public class Mission
{
public ObjectId _id { get; set; }
public string MissionType { get; set; }
public string ElipseNumber { get; set; }
public string MissionDate { get; set; }
public string ReminderNumber { get; set; }
public string Notes { get; set; }
}
当用户选择特定任务时,它将以@ViewBag.SelectedMission
现在,我想让用户可以选择为所选任务添加注释,因此使用模态我添加了一个文本框,如下所示:
<div class="notesLabel">
@Html.LabelFor(model => model.Notes)
</div>
<div class="notesTextBox">
@Html.TextBoxFor(model => model.Notes)
</div>
不确定该怎么做,如何从文本框中获取输入并将其添加到SelectedMission.Notes?
先谢谢。
答案 0 :(得分:0)
我也是初学者但是试图提供帮助。根据我的理解,你可以做类似下面的事情
<强>位指示强>
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Mission model)
{
var notes= model.Notes;
//Set the values to view model accordingly and save to DB eventually
}
查看强>
@model Mission
@using (Html.BeginForm("Create", "ControllerName"))
{
@Html.AntiForgeryToken()
// ALL YOUR HTML FIELD WILL COME HERE
<div class="notesLabel">
@Html.LabelFor(model => model.Notes)
</div>
<div class="notesTextBox">
@Html.TextBoxFor(model => model.Notes)
</div>
<input type="submit" value="save">
}
答案 1 :(得分:0)
尝试以下代码。表单将提交用户在按钮点击时输入的详细信息。假设:控制器名称为Home
,保存注释数据的操作名称为SaveNotes
。当用户点击提交按钮时,数据会发送到SaveNotes
中的HomeController
操作。在动作功能中,验证完成后,值将保存到DB中。如果您不想保存到DB,则可以根据逻辑/设计执行任何操作。值将在objMission.Notes
。
<% Html.BeginForm("SaveNotes", "Home", FormMethod.Post); %>
@Html.AntiForgeryToken()
:
:
<div class="notesLabel">
@Html.LabelFor(model => model.Notes)
</div>
<div class="notesTextBox">
@Html.TextBoxFor(model => model.Notes)
</div>
:
:
<input type="submit" name="submit" value="Save" />
<% Html.EndForm(); %>
public class HomeController : Controller
{
:
:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult SaveNotes(Mission objMission)
{
//Set the values to view model accordingly and save to DB eventually
if (ModelState.IsValid)
{
db.Missions.Add(objMission);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(objMission);
}
:
:
}