这是决赛,有效!感谢破坏者鲍勃。
我只需要改变这个:
<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