mvc - ajax.beginform - 禁用javascript时禁用

时间:2010-11-08 06:22:43

标签: asp.net-mvc

当用户禁用了javascript时,我想让ajax.beginform完全不做任何事情,而不是提交常规的整页帖子请求。什么是实现这一目标的正确方法?

1 个答案:

答案 0 :(得分:1)

如果页面中有form标记且javascript已停用,则无论您做什么,都可以随时提交。即使您删除action属性,它也会提交到同一页面。因此,您可以使用<noscript>标记为禁用javascript的用户提供替代标记。另一种可能性是使用CSS隐藏提交按钮并使用javascript显示它(这样只有启用了JS的用户才能看到它)但这并不理想,因为在输入内部输入时按Enter键仍然可以提交表单。 / p>

我认为更好的方法是让表单提交常规请求,并在控制器操作中处理此案例并做出相应的反应:

if (Request.IsAjaxRequest())
{
    // act as normal
    return PartialView();
}
else
{
    // the user had javascript disabled
    return View();
}