ASP.NET MVC返回到先前的ajax状态(页面)

巴士司机

我有用于测试目的的简单页面。因此,我有一个“索引”页面,该页面具有一个用于选择国家/地区的下拉列表和一个用于进行搜索的按钮,该按钮将一些信息显示为表中的行列表。

@using (Ajax.BeginForm("GetList", "test", new AjaxOptions
{
    HttpMethod = "POST",    
    UpdateTargetId = "showResult"     
})) 

在我的控制器中,它返回局部视图。

[HttpPost]
    public ActionResult GetList(int CountryId)
    {            
        var model = db.Names
            .Include(x => x.Country)              
            .Where(x => x.Country.CountryId == CountryId).ToList();

        return PartialView("PartialPosting", model);
    }

在我的PartialPosting视图中,有一个按钮可以调用可以提交笔记的模式对话框。

@model IEnumerable<test.Models.Names>
<table class="table table-hover">
    <tr>                   
        <th>Note</th>            
    </tr>

    @foreach (var item in Model)
    {    
        <tr> 
            <td>
                @Html.ActionLink("Button", "button", "test", null, new { @class = "btn btn-danger btn-xs", data_toggle = "modal", data_target = "#modal-container" })     
            </td>
        </tr>
    }
</table>   

<div id="modal-container" class="modal fade" tableindex="-1" role="dialog">    
    <div class="modal-content">        
        <div class="modal-body">            
        </div>
    </div>
</div>

单击按钮后,它将转到控制器中的按钮方法,该方法返回将以模式显示的视图

<div class="modal-body"> 

按键方式:

public ActionResult Button()
    {    
        return View();
    }

按钮视图:

@model test.ViewModels.NoteViewModel

@using (Html.BeginForm("PostNote", "test", FormMethod.Post))
{
    @Html.AntiForgeryToken()

    @Html.TextAreaFor(model => model.Note) 

    <input type="submit" value="Submit" />
}

和PostNote方法:

    [HttpPost]
    public ActionResult PostNote(NoteViewModel model)
    {
        //codes

     --> ??  return RedirectToAction();
    }

一切正常,但这是我的问题。当模态提交注释时,

  1. 我希望模态立即消失。
  2. 返回到以前的状态,那里有一个下拉列表来选择国家/地区,还有一个搜索按钮和&&搜索结果表,我只单击了一个按钮。

由于这涉及到ajax响应,因此我不确定如何将正确的URL返回到先前的状态。

y州

您必须使表单提交在按钮视图(便笺表单)中成为ajax表单提交,并在处理来自该表单的表单发布数据的PostNote操作方法中,返回json响应。在ajax表单提交的成功回调中,只需隐藏/关闭模式对话框,您将在第一页看到原始按钮和下拉菜单。

因此,更新您的按钮视图(Button.cshtml),以提供一个表单Id,稍后我们将使用该表单来连接ajaxified表单提交事件。

@{
    Layout = null;
}
@model test.ViewModels.NoteViewModel

@using (Html.BeginForm("PostNote", "test", FormMethod.Post,new {id="postNoteForm"}))
{
    @Html.AntiForgeryToken()

    @Html.TextAreaFor(model => model.Note) 

    <input type="submit" value="Submit" />
}
<script>
    $(function() {

        $(document).on("submit", "#postNoteForm", function(e) {
                    e.preventDefault();
                    $.post($(this).attr("action"),$(this).serialize(),function(response) {

                        console.log('response from ajax call', response);
                        if (response.status === "success") {
                            $('#modal-container').modal('hide');
                        } else {
                            alert(response.errorMessage);
                        }
                    })
        });

    })
</script>

假设您的PostNotehttppost操作方法返回带有statuserrorMessage属性的json响应(如果发生错误)

[HttpPost]
public ActionResult PostNote(NoteViewModel model)
{
  try
  {
    // to do : Save data
     return Json(new {status="success"});
  }
  catch(Exception ex)
  {
     return Json(new {status="error", errorMessage = ex.Message });
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.NET MVC返回到先前的ajax状态(页面)

来自分类Dev

在ASP.NET中发布后将状态消息返回到页面

来自分类Dev

重新加载页面后,返回到某个div。(ASP.NET MVC 5)

来自分类Dev

将列表<T>从控制器返回到ASP.NET MVC4中的Ajax

来自分类Dev

在ASP.NET MVC中返回FileResult的错误消息/页面

来自分类Dev

使用 AJAX Asp.Net MVC 更改页面的问题

来自分类Dev

ASP.NET 使用 iframe for 3ds - 如何返回到托管页面

来自分类Dev

jQuery Ajax调用返回错误:ASP.NET MVC

来自分类Dev

显示列表从控制器返回到视图ASP.NET MVC4中的表

来自分类Dev

ASP.NET MVC,创建将多个对象返回到视图的View方法

来自分类Dev

不将数据列表返回到ASP.NET Core MVC中的索引视图

来自分类Dev

未找到从 ASP .Net MVC 返回到 android 的服务器响应代码

来自分类Dev

在 ASP.NET C# 中将值(所有字段)从数据表返回到 AJAX

来自分类Dev

ASP.NET MVC会话状态超时

来自分类Dev

Asp.Net MVC 5模型状态

来自分类Dev

ASP.NET MVC记录状态

来自分类Dev

ASP NET MVC 5会话状态

来自分类Dev

ASP.Net MVC页面加载

来自分类Dev

jQuery AJAX和asp.net页面

来自分类Dev

在 asp.net mvc 中返回操作

来自分类Dev

从 AJAX (ASP.NET MVC) 填充 DropdownList

来自分类Dev

无法为ASP.NET中的自定义错误页面返回HTTP状态404

来自分类Dev

ASP.NET MVC在发送状态为500的响应时显示错误页面

来自分类Dev

如何在我的Facebook页面上发布状态?[ASP.NET MVC 4]

来自分类Dev

ASP.NET Core返回

来自分类Dev

如何从Asp.net普通页面调用Asp.net MVC页面?

来自分类Dev

如何在ASP.NET MVC 4中将视图和部分视图返回到索引布局?

来自分类Dev

ASP.NET MVC表单-使用以前的表单值返回到视图的正确方法是什么?

来自分类Dev

Model Validation in asp .net MVC

Related 相关文章

  1. 1

    ASP.NET MVC返回到先前的ajax状态(页面)

  2. 2

    在ASP.NET中发布后将状态消息返回到页面

  3. 3

    重新加载页面后,返回到某个div。(ASP.NET MVC 5)

  4. 4

    将列表<T>从控制器返回到ASP.NET MVC4中的Ajax

  5. 5

    在ASP.NET MVC中返回FileResult的错误消息/页面

  6. 6

    使用 AJAX Asp.Net MVC 更改页面的问题

  7. 7

    ASP.NET 使用 iframe for 3ds - 如何返回到托管页面

  8. 8

    jQuery Ajax调用返回错误:ASP.NET MVC

  9. 9

    显示列表从控制器返回到视图ASP.NET MVC4中的表

  10. 10

    ASP.NET MVC,创建将多个对象返回到视图的View方法

  11. 11

    不将数据列表返回到ASP.NET Core MVC中的索引视图

  12. 12

    未找到从 ASP .Net MVC 返回到 android 的服务器响应代码

  13. 13

    在 ASP.NET C# 中将值(所有字段)从数据表返回到 AJAX

  14. 14

    ASP.NET MVC会话状态超时

  15. 15

    Asp.Net MVC 5模型状态

  16. 16

    ASP.NET MVC记录状态

  17. 17

    ASP NET MVC 5会话状态

  18. 18

    ASP.Net MVC页面加载

  19. 19

    jQuery AJAX和asp.net页面

  20. 20

    在 asp.net mvc 中返回操作

  21. 21

    从 AJAX (ASP.NET MVC) 填充 DropdownList

  22. 22

    无法为ASP.NET中的自定义错误页面返回HTTP状态404

  23. 23

    ASP.NET MVC在发送状态为500的响应时显示错误页面

  24. 24

    如何在我的Facebook页面上发布状态?[ASP.NET MVC 4]

  25. 25

    ASP.NET Core返回

  26. 26

    如何从Asp.net普通页面调用Asp.net MVC页面?

  27. 27

    如何在ASP.NET MVC 4中将视图和部分视图返回到索引布局?

  28. 28

    ASP.NET MVC表单-使用以前的表单值返回到视图的正确方法是什么?

  29. 29

    Model Validation in asp .net MVC

热门标签

归档