2012-07-03 56 views
0

我在mvc3中使用Telerik Panel bar,並且在通過Url時遇到問題? 任何人都可以請幫助我,我怎麼能通過Url在我看來。Url在telerik asp.net mvc面板中傳遞

+0

什麼是網址。問題是什麼。您的問題非常含糊 – Tassadaque

+0

在兒童鏈接的面板欄中,我想調用任何可以調用不同控制器的部分視圖的操作,或者我想從此鏈接調用不同的操作。 –

回答

1

你需要在你動態地將控制器/動作名稱型號,創造並傳遞URL

.Items(sub => 
       { 
       for (int i = 0; i < Model.Count(); i++) 
       { 

        sub.Add().Text(Model.ElementAt(i).DisplayText) 
        .Url(Url.Action(Model.ElementAt(i).ActionName, Model.ElementAt(i).ControllerName, new { id = Model.ElementAt(i).IDParam })) 

       }}); 
+0

但在這種情況下,我希望頁面將會移動並且整個頁面將被刷新。但我不想旅行我的網頁。 –

+0

看到這個http://www.telerik.com/community/forums/aspnet-mvc/panelbar/panelbar-item-with-url-from-ajax-action.aspx – Tassadaque

0

如果我正確理解你的問題,我做了類似的東西來此使用PanelBar和Grid.In的面板吧,把js函數在onSelect事件:

Html.Telerik().PanelBar() 
    .Name("PanelBar") 
     .ClientEvents(events => 
     { 
     events.OnSelect("getEvent"); 
     }) 
     .Items(panelbar => 
     { 
     panelbar.Add() 
      .Text("Header Text") 
      .Expanded(true) 
      .Items(item => 
      { 
       item.Add() 
        .Text("Test1"); 
       item.Add() 
        .Text("Test2"); 
      }); 
    }).Render(); 

在getEvent功能,分配給每個項目一個變量,進行AJAX張貼到您的控制器或東西上一個ActionResult。在我的情況下,我剛剛將電網重新綁定。

function getEvent(e) { 
     panelItem = $(e.item).text(); 
     if (panelItem == "Test1") { 
      var eventid1 = 1; 
     } 
     if (panelItem == "Test2") { 
      var eventid2 = 2; 
     } 
     //make ajax post here or something 
     $('#TheGrid').data('tGrid').rebind(); 
     //   $.ajax({ 
     //    url: '/Controller/Action', 
     //    type: 'POST', 
     //    data: { 
     //     eventid1: eventid1, 
     //     eventid2: eventid2, 
     //     panelItem: panelItem 
     //    } 
     //   }); 
} 

並在您的控制器中爲eventids製作條件語句並執行您想要的操作。 希望這有助於。