我的 ASP.net MVC 应用程序包含一个 DevExpress DateEdit 扩展,我可以选择日期(http://mvc.devexpress.com/Editors/DateEdit),现在我喜欢发送,每次用户更改日期时,通过对我的 DateEdit 扩展的处理程序做出反应,将日期返回给控制器。
我在javascript函数上设置了ClientSideEvents.DateChanged,现在我的问题开始了,通常我用表单发送数据并提交回控制器,并且活页夹将它们绑定到我的模型......
但现在我想在 javascript 函数中调用我的控制器上的一个方法,如 writeDate(DateTime date),ActionLink 可能会解决问题,因为我知道可以通过“\myController\”之类的链接调用控制器方法\参数”,但我不知道如何在没有用户操作的情况下实现这一点。
我的代码:
@Html.DevExpress().DateEdit(settings =>
{
settings.Name = "Date";
settings.Properties.UseMaskBehavior = true;
settings.Properties.EditFormat = EditFormat.Custom;
settings.Properties.EditFormatString = "MMMM dd, yyyy";
settings.Properties.DisplayFormatString = "MMMM dd, yyyy";
settings.Date = DateTime.Now;
settings.Properties.ClientSideEvents.DateChanged = "OnDateChanged";
}).GetHtml()
@Html.DevExpress().Button(settings => {
settings.Name = "sendDate";
settings.ClientVisible = false;
settings.UseSubmitBehavior = true;
});
function OnDateChanged(s, e) {
// Call Controller
}
[HttpPost, ValidateInput(false)]
public ActionResult onDateChanged(DateTime date)
{
// Do something
}
所以我认为我的一般问题是如何在没有表单的情况下仅通过对客户端事件做出反应将数据传递给控制器?:)