我可以让我的控制器返回模态窗口的数据吗? MVC5 ASP.NET

时间:2016-03-10 18:02:03

标签: javascript c# jquery asp.net asp.net-mvc-5

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

我将首先解释我的申请流程。

  • 用户提交表单
  • 表单数据发布到控制器
  • Controller使用tagbuilder生成包含数字的表格,并将其作为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 个答案:

答案 0 :(得分:0)

我想建议你关注事情,
1.在控制器中构建模态链接时,使用 data-id 字段。与 data-id =&#34; 1&#34; 一样 2.在局部视图中使用此id调用ajax方法,例如&#34; getData&#34;
3.从&#34; getData&#34;中返回json格式的数据 4.现在使用jquery将返回的数据绑定到表单控件。

希望这对你有所帮助!