これが最終的なものです。ボブ・ザ・デストロイヤーに感謝します。
これを変更する必要がありました:
<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