首页 > 解决方案 > 替换 Ajax.ActionLink

问题描述

嗨,我有一个完美运行的 Ajax 操作链接,一旦我单击链接,它就会从部分视图中显示一些文本,问题是我希望在页面加载后显示这些文本,而无需单击操作链接。我是新手,我已经在谷歌上搜索过,但没有任何帮助。

这是代码

查看.cshtml

@Ajax.ActionLink("Show my Text", "_Text",
new AjaxOptions
                {
                    HttpMethod = "GET", 
                    UpdateTargetId = "ajaxdiv",
                    InsertionMode = InsertionMode.Replace 
                })

 <div id="ajaxdiv"></div>

部分视图:_Text.cshtml

@model Website.MyViewModel

@foreach (TextTable item in Model.TextList)
{
    <h5> @item.UserText </h5>  
}

控制器:

public PartialViewResult  _Text()
    {

        DBEntities DB = new DBEntities();
        var sessionID = Session["id"];
        int SessionID = Convert.ToInt32(sessionID);
        var viewModel = new MyViewModel
        {

            TextList= DB.TextTable.ToList()
        };

        return PartialView(viewModel);
    }

标签: javascriptjqueryasp.netajaxasp.net-ajax

解决方案


在您的 ajax 选项中添加 OnSuccess 并制作将隐藏它的 jquery 函数。

@Ajax.ActionLink("Show my Text", "_Text",
new AjaxOptions
                {
                    HttpMethod = "GET", 
                    UpdateTargetId = "ajaxdiv",
                    OnSuccess = "hideFunction",
                    InsertionMode = InsertionMode.Replace 
                })

在你的 js 中创建一个类似的函数。

function hideFunction() {
    $(this).hide();
}

推荐阅读