当文本框中的文本发生更改时,我需要插入在文本区域中输入的文本。我使用 jquery 更改函数来完成此操作。我让控制器从 ajax 访问 actionmethod 但是,视图中的文本没有传递给模型。(使用的代码:MVC4 /entity dbfirst/razor) 这是我的详细代码。
控制器:
public ActionResult Index()
{
return View();
}
public ActionResult Dailynotes()
{
return View();
}
//I’m getting this code hit from ajaxcall, but dashboard model is null????????
tblDailyNotes note = new tblDailyNotes();
[HttpPost]
public ActionResult Dailynotes(DashboardViewModel model)
{
int noteid = 0;
model.Dailynotes = note.Note;
_scheduler.InsertDailynote(note);//this is the sp to insert the note
return View();
}
索引.cshtml:
<div id="content">
@(Html.Kendo().TabStrip()
.Name("tabstrip")
.Items(tabstrip =>
{
tabstrip.Add().Text("Daily Notes")
.Selected(true)
.LoadContentFrom("Dailynotes", "Scheduler");
})
)
</div>
<div>
@{Html.RenderAction("Dailynotes", "Scheduler");}
</div>
Dailynotes.cshtml:
@model proj.Models.DashboardViewModel
@Html.TextAreaFor(model => model.Dailynotes, new {@class="k-textbox",id="dailynotes"})
<script>
$("#dailynotes").change(function () {
alert("Changed");
debugger;
$.ajax({
cache: true,
type: "POST",
url: window.location.pathname + "Scheduler/Dailynotes",
success: function (data) {
},
error: function (xhr, ajaxOptions, thrownError) {
},
complete: function () { }
});
});
仪表板视图模型.cs
public class DashboardViewModel
{
public string Dailynotes { get; set; }
public string Weeklynotes { get; set; }
}
我得到了调用 post 操作的 ajax,但是dashboardmodel 没有返回我在模型的文本框中输入的文本。
请帮忙..
编辑1:/不工作
$("#dailynotes").change(function () {
alert("Changed");
var dailynotes = $('#dailynotes').val();
debugger;
$.ajax({
url: window.location.pathname + 'Scheduler/Dailynotes',
type: 'POST',
//data: $('form').serialize(),
data:{ model:dailynotes }
})
.success(function (result) {
alert("note saved successfully");
});
});