0

这是决赛,有效!感谢破坏者鲍勃。

我只需要改变这个:

<script>
$(function () {
    $('#formSearch').ajaxForm(function (result) {
        $('#divArefresh').fadeOut('slow').fadeIn("slow").load('/Feed/Search');
    });
});
</script>

进入这个:

<script>
$(function () {
    $('#formSearch').ajaxForm(function (result) {
        $('#divArefresh').fadeOut('slow').fadeIn("slow").load(result);
    });
});
</script>

编辑:我认为这是:

// In /Feed/Index.cshtml
@using (Html.BeginForm("Search", "Feed", FormMethod.Post, new { id = "formSearch" }))
{ 
        <input type="text" id="search" name="search"  />
        <input type="submit" value="save"/>
}
<script>
$(function () {
    $('#formSearch').ajaxForm(function (result) {
        $('#divArefresh').fadeOut('slow').fadeIn("slow").load('/Feed/Search');
    });
});
</script>

有了这个 :

 // In Controller/Feed/
 public ActionResult Search(string search)
    {
         if (!String.IsNullOrEmpty(search))
                return Content("Variable : " + search);
            else
                return Content(":(");
        return Content("Pas ajax :(");

    }

会做的伎俩,但事实并非如此。它总是显示“:(”。我真的迷路了。

////////////////////

我只是想知道怎么做这个。我尝试了很多方法,但我真的无法做到。很容易理解我想要做什么:

我有一个 div,其中包含我要显示的所有信息:

<div id="divArefresh">
    <div id="accordion-container">        
    @foreach (var i in @ViewBag.feedsItem)
    {
     ...  Things ....
     }
    </div>
</div>

我想做一个«搜索功能»,像这样:

<!-- le champs de recherche -->
@{var options2 = new AjaxOptions()
{
    Url = Url.Action("Search", "Feed"),
    LoadingElementDuration = 200000,
    OnComplete = "divSearch",
    HttpMethod = "GET"
};  
using (Ajax.BeginForm(options2)) 
{
        <input type="text" name="search" id="search" placeholder="Votre recherche"/>
        <input type="submit" id="submit" value="chercher"/>
}
}

这是我的 « divSearch »

function divSearch() {
    $('#divArefresh').fadeOut('slow').fadeIn("slow").load('/Feed/Search');
}

当我提交一些东西时,我的操作很顺利:

public ActionResult Search(string search)
    {
        Users user = db.UserProfiles.Find(Session["id"]);
        if (Request.IsAjaxRequest())
        {
            var wordSearched = Request["search"].ToString(); --> NULL
            var feeds = (from u in db.Feed
                         where u.UsersId == user.UsersId
                         select u).ToList(); --> FINE
            var feedsItems = from u in db.FeedsItem
                             where u.Title.Equals(wordSearched)
                             select u;
            ViewBag.feedsItem = feedsItems.ToList();
            return PartialView("Search", feeds);
        }
        return PartialView("Search");

    }

但是这个 :

Request["search"].ToString();

当我尝试使用调试器时始终为空。甚至 « search » 变量也是空的

如果有人对如何使这项工作有想法......

开23

4

0 回答 0