栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在MVC3中使用JQuery渲染部分视图

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在MVC3中使用JQuery渲染部分视图

我有一些记录。单击每条记录后,需要在手风琴中显示信息。

您可以通过两种方式实现自己的期望。我想您必须从操作中返回局部视图,该操作提供了有关记录的详细信息。

  1. 聆听锚链接的click事件,然后在事件内部构造URL,然后单击
    $("#accordion-container-1").load(url)

例如

从您的评论中,我看到您必须

orderNo
将action作为参数传递。因此,您必须设置
orderNo
as
id或将其附加到某个字符串(以避免元素中重复的id),并将其设置为锚点链接的id。

然后,

$(function(){  $("a.somecssclass").click(function(){     var orderNo = this.id;     var url = "/ControllerName/Tracking?orderNo=" + orderNo;     // this will call the action through ajax and update the container with the     // partial view's html.     $("#divToLoadTheHtml").load(url);   });   });
  1. 使用MVC支持的Ajax操作链接。您可以使用
    Ajax.Actionlink
    通过ajax调用某些控制器动作来创建动作链接,并将html结果更新为容器。

例如

在这种情况下,当您通过循环集合生成记录时,您必须通过方法创建链接(单击时必须通过ajax加载内容),

Ajax.Actionlink
并且还必须包括
jquery'unobtrusive.ajax.js
库。

@foreach(var m in Collection){    .. other stuff    @Ajax.Actionlink(link name, "Action", new { orderNo = m.something? },     new AjaxOptions    {         UpdateTargetId = "somediv" // set the div name where you want to load the partial view    });}

根据OP的评论进行更新

您的操作方法应该是这样的,

public PartialViewResult Tracking(int orderNo) {      var manager = new OrderManager();      return PartialView(manager.Tracking(orderNo));}

您应该具有名称

Tracking.cshtml
的局部视图,并且必须在局部视图内部创建html,该html表示您正在谈论的记录的详细信息。

Tracking.cshtml

@model TrackingModel<div>  @Html.DisplayFor(...)  ...</div>

当您

Tracking
通过jquery或ajax操作(如前所述)调用操作时,您将获得部分视图html,您可以将其加载到div之类的特定容器中。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号