是否可以使控制器返回模式窗口的数据?MVC5 ASP.NET

Is it possible for me to make my controller return data for my modal window? MVC5 ASP.NET

本文关键字:数据 MVC5 ASP NET 窗口 可以使 控制器 返回 模式 是否      更新时间:2023-09-26

我正忙着制作我的 ASP.NET 网络应用程序。

我将首先解释我的应用程序流程。

  • 用户提交表单
  • 表单数据发布到控制器
  • 控制器使用标签生成器生成包含数字的表,并将其作为 mvcHtmlString 返回。

此表中的每个数字都由锚标记 (a) 包围。单击此数字时,我想打开一个模式窗口,显示与单击的数字相关的数据。单击此数字当前具有 url.action 作为 href,因此它会跳转到我的控制器,并将该数字传递给控制器。

显示

模态不是问题,因为我可以将数据切换和数据目标传递到我的锚标记中,但我想显示控制器在其正文中返回的数据。

目前正在做的是在我看来,它包含我所做的形式

@{Html.RenderPartial("_Details");}

_Details包含整个模态代码:

<div class="modal fade" id="competenceModal" tabindex="-1" role="dialog" aria-labelledby="competenceModal" aria-hidden="true">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-body">
            <p>Competence details</p>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
    </div>
</div>

返回到视图的锚标记包含以下表单:

UrlHelper url = new UrlHelper(HttpContext.Request.RequestContext);
var url2 = url.Action("LevelDetails", "Knowledge", new { level = level.Value });
var anchor = new TagBuilder("a");
anchor.Attributes.Add("href", url2);
anchor.Attributes.Add("data-target", "#competenceModal");
anchor.Attributes.Add("data-toggle", "modal");

这正确地访问了我的控制器,但我最大的问题是:

是否可以使控制器返回数据(例如mvcHtmlString或任何其他内容)并将其放入模式窗口的正文中?如果是这样,最好的方法是什么?

我想建议你遵循以下事情,
1. 在控制器中构建模式链接时使用 data-id 字段。比如数据 id="1"。
2. 在您的分部视图中,使用此 id 调用 ajax 方法,如"getData"
3. 从"getData"以 json 格式返回您的数据。
4. 现在使用 jquery 将返回的数据绑定到表单控件。

希望这对您有所帮助!