微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – 如何在视图中显示actionResult?

我有一个动作结果,我想在我的视图中使用ajax将其显示为div标签,这是我的动作结果:

public ActionResult Details(string id)
    {
        var subscriber = new SubscribersModel();
        IEnumerable<Subscribe> list = from s in dbcontext.Subscribes select s;
        foreach (var sb in list)
        {
            if (sb.cin == id)
            {
                subscriber.cin = sb.cin;
                subscriber.name = sb.name;
            }
        }
        return PartialView("Details",subscriber);
    }

这是我的详细信息:

@model _3SDWebProject.Models.SubscribersModel

 <fieldset>
<legend>SubscribersModel</legend>

<div class="display-label">
     @Html.displayNameFor(model => model.name)
</div>
<div class="display-field">
    @Html.displayFor(model => model.name)
</div>

<div class="display-label">
     @Html.displayNameFor(model => model.cin)
</div>
<div class="display-field">
    @Html.displayFor(model => model.cin)
</div>
</legend>

这是我要显示我的行动结果的索引视图:

@model IEnumerable<_3SDWebProject.Models.SubscribersModel>
 @{
   ViewBag.Title = "Subscribers";
  }

<script>
  function details(id) {
    var url = '/Subscribers/Details/' + id; 
    $.ajax({
        url: url,type: 'GET',data: id,success: function () {
            $(".sidebar").html();
        }
    });
}

$(function () {
    $(".details-logo").on('click',function () {
        details($(this).attr("DtNo"));
        alert("ok");
    });

});
  </script>
  <div class="sidebar">
       //Here i want to show my result !!!!!!!
   </div>

<div class="content" style="width: 700px; margin-left: 250px; height: 545px;margin-top:  -30px;">
<h2>Subscribers</h2>
 table class="altrowstable" id="alternatecolor">
<tr>
    <th>
        CIN
    </th>
    <th>
        Name
    </th>
    <th>
</tr>
 @foreach (var item in Model) {
 <tr id="[email protected]">
    <td>
        @Html.displayFor(modelItem => item.cin)
    </td>
    <td>
        @Html.displayFor(modelItem => item.name)
    </td>
 </tr>
  //this is my actionLink
  @Html.ActionLink("Details","Details",new { id = item.cin },new { @class = "details-logo",@DtNo=item.cin})
 }

所以如果有人知道我会非常感激.
Nb:当我按下我的详细信息动作链接时,它会给我真实的信息,但不是在我的侧边栏中,而是在这样的单独视图中:

@H_502_27@解决方法
只需将您的ajax功能更改为

$.ajax({
        url: url,success: function (result) {
            $(".sidebar").html(result);
        }
    });

这将获得订阅者详细信息页面并将其添加到.sidebar

编辑:

更改onclick事件处理程序以停止超链接认操作.只需添加return false即可阻止超链接转到新页面.见下文.

$(function () {
    $(".details-logo").on('click',function () {
        details($(this).attr("DtNo"));
        alert("ok");
        return false;
    });

});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐