Javascript ASP.NET MVC 4如何更新模型和重新渲染水平视图
我希望能够单击按钮并将对象添加到模型中的列表中。它应该在每次单击按钮时添加一个新对象。我还有一个局部视图,该视图根据此列表中的对象数量进行渲染,发生这种情况时也需要更新。我知道我需要使用ajax,但我对它不是很熟悉 这是控制器:Javascript ASP.NET MVC 4如何更新模型和重新渲染水平视图,javascript,c#,jquery,ajax,asp.net-mvc,Javascript,C#,Jquery,Ajax,Asp.net Mvc,我希望能够单击按钮并将对象添加到模型中的列表中。它应该在每次单击按钮时添加一个新对象。我还有一个局部视图,该视图根据此列表中的对象数量进行渲染,发生这种情况时也需要更新。我知道我需要使用ajax,但我对它不是很熟悉 这是控制器: public ActionResult NewScheduleRequest() { var srm = new NewScheduleRequestModel(); srm.Request = new ResourceReque
public ActionResult NewScheduleRequest()
{
var srm = new NewScheduleRequestModel();
srm.Request = new ResourceRequest();
srm.Request.ResourceRequestScheds.Add(new ResourceRequestSched(){StartDateRequested = DateTime.Today, EndDateRequested = DateTime.Today.AddDays(7)});
return PartialView("NewScheduleRequestView", srm);
}
以及有关的html:
<div id="timeFrames">
@Html.Partial("_TimeframePartial", Model)
</div>
<div>
<div class="form-group">
<div>
<input type="submit" value="Save" class="btn btn-default" />
<input type="button" value="Add Timeframe" class="btn btn-default" id="btnAddTimeframe" />
</div>
</div>
</div>
我的做法是否正确,还是需要重新思考?如果我在正确的轨道上,如果有人能帮我弄清楚我需要从这里做什么就好了。你的"时间框架部分内容是什么?添加了你可以使用的部分视图内容
$。get('@Url.Action(“NewScheduleRequest”,“YourControllerName”)、function(data){$('timeFrames')。append(data);}
。但是,如果您添加了多个项,那么您将永远无法回发并绑定到集合(控件将无法使用索引器正确命名),因此这可能有点毫无意义。
@model Application.Models.NewScheduleRequestModel
@for (var i = 0; i < Model.Request.ResourceRequestScheds.Count; i++)
{
<div class="form-group">
<label class="col-md-2 control-label" for="startDialog">Start</label>
<div class="col-md-4">
@Html.EditorFor(m => m.Request.ResourceRequestScheds[i].StartDateRequested, "dateTextBox")
</div>
<label class="col-md-2 control-label" for="endDialog">End</label>
<div class="col-md-4">
@Html.EditorFor(m => m.Request.ResourceRequestScheds[i].EndDateRequested, "dateTextBox")
</div>
</div>
<div class="form-group row">
<div class="col-md-2"></div>
<div class="col-md-2">
<label class="col-md-12 control-label">Mon</label>
<div class="col-md-12">
@Html.DropDownListFor(m => m.Request.ResourceRequestScheds[i].MonHoursRequested, Model.Hours, new { @class = "form-control" })
</div>
</div>
<div class="col-md-2">
<label class="col-md-12 control-label">Tues</label>
<div class="col-md-12">
@Html.DropDownListFor(m => m.Request.ResourceRequestScheds[i].TuesHoursRequested, Model.Hours, new { @class = "form-control" })
</div>
</div>
<div class="col-md-2">
<label class="col-md-12 control-label">Wed</label>
<div class="col-md-12">
@Html.DropDownListFor(m => m.Request.ResourceRequestScheds[i].WedHoursRequested, Model.Hours, new { @class = "form-control" })
</div>
</div>
<div class="col-md-2">
<label class="col-md-12 control-label">Thurs</label>
<div class="col-md-12">
@Html.DropDownListFor(m => m.Request.ResourceRequestScheds[i].ThursHoursRequested, Model.Hours, new { @class = "form-control" })
</div>
</div>
<div class="col-md-2">
<label class="col-md-12 control-label">Fri</label>
<div class="col-md-12">
@Html.DropDownListFor(m => m.Request.ResourceRequestScheds[i].FriHoursRequested, Model.Hours, new { @class = "form-control" })
</div>
</div>
</div>
<hr />
}
$(document).ready(function () {
$("#btnAddTimeframe").click(function () {
$.ajax({
type: 'POST',
});
});
});