如果启用了javascript,如何执行Ajax请求,否则,请求将通过POSTBACK执行?

时间:2018-09-24 20:35:25

标签: javascript asp.net-mvc asp.net-ajax

我是MVC的初学者。

我写了一个代码,将软件列表显示为Ajax请求。但是,如果浏览器中的javascript被禁用或不被支持,则代码输出将被破坏并显示为长字符串。

如何处理此状态?

如果启用了javascript,则将执行Ajax代码,否则将通过POSTBACk请求发送请求。

这是我的代码:

@model string
@{
AjaxOptions AjaxOpts=new AjaxOptions{
    UpdateTargetId="tabledata"
    };
}
@using(Ajax.BeginForm("ListData",AjaxOpts)){
<table>
  <thead>
    <th>Client Name</th>
    <td>dates</th>
  </thead>
<tbody id="tabledata">
    @Html.Action("ListData",new {id=Model})
</tbody>
</table>
<p>
    @Html.DropDownList("id",new SelectList(
    new[]{"All","web","Windows"},(Model??"All")))
<input typr="submit" value="Submit"/>
</p>
}

请指导我

1 个答案:

答案 0 :(得分:2)

这是正常的降级。 试试这个:

@model string
@{
AjaxOptions AjaxOpts=new AjaxOptions{
    UpdateTargetId="tabledata",
    Url=Url.Action("ListData")
    };
}
@using(Ajax.BeginForm(AjaxOpts)){
<table>
  <thead>
    <th>Client Name</th>
    <td>dates</th>
  </thead>
<tbody id="tabledata">
    @Html.Action("ListData",new {id=Model})
</tbody>
</table>
<p>
    @Html.DropDownList("id",new SelectList(
    new[]{"All","web","Windows"},(Model??"All")))
<input typr="submit" value="Submit"/>
</p>
}

如果浏览器能够使用javascript,则使用Url = Url.Action(“ ListData”)专有指定的地址来加载数据。否则,请求将通过帖子(索引视图)发送