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();

デバッガーで試してみると、常に null です。« search »変数でさえnullです

誰かがこれを機能させる方法についてアイデアを持っている場合...

カイ23

4

0 に答える 0