asp.net-mvc - 当用户单击主视图上的按钮时,如何显示附加的部分 View ?

标签 asp.net-mvc asp.net-mvc-3 razor

我想单击“主视图”上的按钮并在其自己的 .已更新

我有一个主要观点:

 @{
using (Ajax.BeginForm("PastClaims", "Claim", FormMethod.Post, new AjaxOptions { UpdateTargetId = "update_panel", InsertionMode = InsertionMode.Replace }, new { @class = "form-horizontal" }))
{
    <legend>Submit a Claim</legend>
    @Html.EditorForModel()
    <div class="controls">
        <input id="btnCheckForClaims" type="submit" class="btn btn-primary" value="Submit Claim" />
    </div>


    }

我需要单击提交按钮然后显示另一个 View : 如果我执行下面的操作,那么在初始加载的页面上它会显示 div

 <div id="update_panel">@Html.Partial("PastClaims")</div>

如果我将 div 留空,那么我会得到一个新的部分 View 。

  <div id="update_panel"></div>

如果我像达林建议的那样将它们保留为空:

using (Ajax.BeginForm("PastClaims", "Claim", FormMethod.Post, new AjaxOptions { UpdateTargetId = "update_panel", InsertionMode = InsertionMode.Replace }, new { @class = "form-horizontal" }))

我被重定向到同一页面(我想要的),但附加的部分 View 未显示。

感谢下面的 Darrin 让我走到这一步。

最佳答案

在这种情况下,您可以使用 Ajax.BeginForm:

@using (Ajax.BeginForm(null, null, new AjaxOptions { UpdateTargetId = "update_panel", InsertionMode = InsertionMode.Replace }, new { @class = "form-horizontal"}))
{
    @Html.EditorForModel()
    <div class="controls">
        <input id="btnOpenPartialView" type="submit" class="btn btn-primary" value="OpenPartialView" />
    </div>
}

<div id="update_panel">
    @Html.Partial("PartialView")
</div>

然后相应的 Controller 操作将返回部分 View :

[HttpPost]
public ActionResult SomeAction() 
{
    // some processing ...
    return PartialView("PartialView");
}

要使 Ajax.* 帮助程序正常工作,请不要忘记包含 jquery.unobtrusive-ajax.js 脚本:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

关于asp.net-mvc - 当用户单击主视图上的按钮时,如何显示附加的部分 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12533324/

相关文章:

asp.net-mvc - 对于空的非必填字段,ModelState 被标记为无效

asp.net - MVC中jQuery对话框中表单的常用方法

asp.net-mvc - Ajax.ActionLink 多次重复相同的 GET 请求

c# - 值不能为空。参数名称: objectToSwitchTo - Glassmapper

asp.net-mvc - 无法从 VS 2015 中的 Controller 添加 View : "There was an error running the selected code generator"

asp.net-mvc - MVC POST 到 Controller 操作并从 ListView 传递参数?

asp.net-mvc - MVC 3 : Hide ID property using EditorForModel

asp.net - 将模型从 jquery ajax 传递到 Controller

c# - jQuery .show() 方法在 .click 函数中不起作用

asp.net-mvc - MVC 4 在局部 View 中使用分页列表