mvc3 で Telerik パネル バーを使用していますが、Url を渡すときに問題に直面していますか?? 誰でも私のビューで URL を渡す方法を教えてください。
質問する
486 次
2 に答える
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 }))
}});
于 2012-07-03T12:53:26.153 に答える
0
あなたの質問を正しく理解している場合は、PanelBarとGridを使用してこれと同様のことを行いました。パネルバーで、OnSelectイベントにjs関数を配置します。
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関数で、各アイテムに変数を割り当て、コントローラーなどのactionresultにajax投稿を作成します。私の場合、グリッドを再バインドしました。
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
// }
// });
}
コントローラで、eventidの条件ステートメントを作成し、必要なアクションを実行します。お役に立てれば。
于 2012-07-03T19:03:38.323 に答える