Ajax 强类型部分视图导航
基本上,我开始开发这个应用程序时对网络开发一无所知,这严重抑制了我的搜索能力。也许你应该读一本书,但不太可能。使用ASP.NET MVC3 RC2,我试图创建一个强类型的局部视图,该视图可以导航到相关的项目,并维护一个面包屑轨迹(我认为它应该是ViewBag中的列表?)。一个很好的类比是一个带有同义词库子视图的词典页面Ajax 强类型部分视图导航,ajax,asp.net-mvc-3,partial-views,Ajax,Asp.net Mvc 3,Partial Views,基本上,我开始开发这个应用程序时对网络开发一无所知,这严重抑制了我的搜索能力。也许你应该读一本书,但不太可能。使用ASP.NET MVC3 RC2,我试图创建一个强类型的局部视图,该视图可以导航到相关的项目,并维护一个面包屑轨迹(我认为它应该是ViewBag中的列表?)。一个很好的类比是一个带有同义词库子视图的词典页面 class Entry { string Name; string Definition; IEnumerable<Entry> Synonyms;
class Entry
{
string Name;
string Definition;
IEnumerable<Entry> Synonyms;
}
类条目
{
字符串名;
字符串定义;
可数同义词;
}
页面主要显示单词及其定义等。但是有一个同义词的div,您可以单击它查看所选单词的同义词,替换为w/ajax
我最初认为我需要做一个html助手,但后来我看到了一些关于从控制器返回PartialView的东西,这似乎好多了
我拼凑拼图的所有部分都有困难。一份样品或大纲就好了
谢谢 伙计,我知道我应该在问之前多做一会儿 因此,以下是配方:
Synonym(id){return PartialView(GetEntry(id));}
@{Html.RenderAction(“同义词”、@Model.Id);}在主显示器中显示局部视图
@foreach(Entry syn in @Model.Synonyms)
@Ajax.ActionLink((string)@syn.Name, "Synonym",
new { id = @syn.Id }, new AjaxOptions { UpdateTargetId = "Synonyms" })
new{id=@syn.id}
,因为控制器中的参数名实际上是number,所以我不得不使用new{number=…}
哦,我还问了导航的问题。我认为浏览器的后退按钮对于大多数导航来说已经足够了,但仍然需要一个“返回当前单词”链接。为此,我做了以下工作:
int orig
,并设置ViewBag.OrigId=orig代码>返回之前
new{id=@syn.id,orig=@ViewBag.OrigId}
@Ajax.ActionLink(“返回到当前单词”,“同义词”,新的{id=@ViewBag.OrigId,orig=@ViewBag.OrigId},新的AjaxOptions{UpdateTargetId=“Synonyms”})中创建了反向链接。
@Html.RenderAction
的调用,以传递类似ActionLinksnew{id=@Model.id,orig=@Model.id}中的对象