我有一个文本框来选择日期,剃刀页面中有一个操作链接重定向到另一个页面,日期值作为参数之一。 有没有办法在用户更改日期时动态更改actionlink的值。 我的Razor视图就像
<div class="col-md-4">
@Html.TextBoxFor(model => model.Date, new { @class = "datepicker form-control" })
@Html.ValidationMessageFor(model => model.Date)
</div>
@Html.ActionLink("Mark Attendance", "Add", "Attendance", new { @id = @model.ClassId }, new { @class = " btn btn-primary"})
在Javascript中我能够做到
$("#Date").datepicker({
showOn: 'both',
altFormat: 'MM-dd-yy',
dateFormat: 'MM-dd-yy',
changeMonth: true,
changeYear: true,
yearRange: "1900:2050"
})
.change(dateChanged)
.on('changeDate', dateChanged);
function dateChanged(ev) {
//How can i change the action link in a way that add an extra param date with selected value ?
}
有什么办法吗?
答案 0 :(得分:4)
您可以使用javascript更改日期值
$('.btn btn-primary').attr('href', function () {
return this.href.replace('_Parameter1', Date_Value);
});
在视图中: -
@Html.ActionLink("Mark Attendance", "Add", "Attendance", new { @id = @model.ClassId,Parameter1='_Parameter1'}, new { @class = " btn btn-primary"})
在控制器中: -
public ActionResult Add(int ID, DateTime date)
答案 1 :(得分:2)
您可以使用
更新链接href属性var url = $('#mylink').attr('href'); // returns "Attendance/Add/1"
function dateChanged(ev) {
$('#mylink').attr('href', url + '?date=' + <mydatevalue>);
}
请注意,这假设您为链接指定了
@Html.ActionLink("Mark Attendance", "Add", "Attendance", new { id = @Model.ClassId }, new { @class = " btn btn-primary", new id = "mylink" })
将重定向到
public ActionResult Add(int ID, DateTime date)