【发布时间】:2016-03-10 18:02:02
【问题描述】:
我正忙着制作我的 ASP.NET 网络应用程序。
我将首先解释我的申请流程。
- 用户提交表单
- 表单数据被发布到控制器
- 控制器使用 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 或任何其他内容,并将其放在我的模态窗口的正文中?如果是这样,最好的方法是什么?
【问题讨论】:
-
我会调查
return PartialViewResult("_Details");这可能会有所帮助 -
我确实做到了,它返回了模态页眉页脚和关闭按钮,但是是原始格式。它给了我一个带有纯文本和一个按钮的空白页面。它的行为与普通模式窗口不同。
-
@Mick 你是怎么调用你的方法的?使用 AJAX?
-
不,使用我在上一个代码片段中创建的 Url.Action。
-
我会尝试使用 ajax 请求从控制器获取 html 数据,然后将 html 放在我认为合适的模式中。
标签: javascript c# jquery asp.net asp.net-mvc-5