2014-02-07 3 views
0

У меня есть Ajax.ActionLink в частичном виде следующий образом:Ajax.ActionLink только Ссылки на текущую страницу

<div id="accordion"> 
    @foreach (var m in Model) 
    { 
     var targetId = m + "_List"; 

     <h3 id="@(m)" class="thingModelHeader"> 
      @Ajax.ActionLink(m, "AjaxGetThings", "Perf", 
       new AjaxOptions { 
        HttpMethod="GET", 
        InsertionMode = InsertionMode.Replace, 
        UpdateTargetId= targetId, 
        Url="13412" 
       }) 
     </h3> 
     <div id="@targetId" > 
      @* list will populate here when the link is clicked *@ 
     </div> 

    } 
</div> 

У меня есть контроллер с соответствующим способом:

public class PerfController : Controller 
{ 
    [Route("AjaxGetThings/{id}", Name = "AjaxGetThings")] 
    public PartialViewResult AjaxGetThings(string id) 
    { 
     IQueryable<Thing> results; 

     using (var repo = new ReadOnlyRepository<Thing>()) 
     { 
      things = repo.All() 
          .Where(p => p.Id == Id) 
          .OrderBy(p => p.Name) 
          ; 
     } 

     return PartialView("CustomPartialView", results); 
    } 

} 

У меня есть ScriptBundle для ненавязчивой проверки:

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
    "~/Scripts/jquery.unobtrusive*", 
"~/Scripts/jquery.validate*")); 

... и я ссылаться на него в моей странице Макет:

</footer> 
    @Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/jquery-ui") 
    @Scripts.Render("~/bundles/jqueryval") 
    @RenderSection("scripts", required: false) 
    </body> 
</html> 

Проблема в том, что независимо от того, как я определяю Action, Controller или Url в AjaxOptions, ссылка всегда указывает на текущий URL. Целевой div загружает и обновляет всю «нудную версию страницы», поэтому работает, поскольку часть Ajax идет, но независимо от того, что я делаю, URL никогда не указывает на то, что полезно - как фактический контроллер и действие что я указал.

ответ

0

попытка указать URL-адрес, как этот

url: 'Url.Action("Action", "Controller", new { ID = m.targetid })' 
+0

Как передать идентификатор в этот URL? –

+0

добавьте его как атрибут html, см. Мое редактирование –

Смежные вопросы