2010-08-17 124 views
1

我有一個無序列表,當一個項目被點擊時,它會顯示幾個使用Fancybox JavaScript插件的圖像。ASP.NET MVC 2和動態JavaScript

我想將其轉換爲ASP.NET MVC 2,我想動態地將圖像路徑和標題等傳遞給JavaScript,以便它們不會被硬編碼。

HTML

<ul> 
    <li><a href="DisplayImages();" title="Images"> Show Images</a></li> 
    </ul> 

的Javascript

function DisplayImages() { 

    $.fancybox([ 
{ 'href': 'Image Path goes here', 'title': 'Image Title goes here' }, 
{ 'href': 'Another Image path goes here', 'title': 'Another image title' } 
], { 
    'padding': 0, 
    'transitionIn': 'none', 
    'transitionOut': 'none', 
    'type': 'image', 
    'changeFade': 0 

}) 
}; 

這是可能的嗎?任何幫助深表感謝

感謝

回答

0

如果我理解正確的話,你可能會尋找這樣的:

function DisplayImages() { 
    $.fancybox([ 
    { 'href': '<%= Model.ImagePath %>', 
     'title': '<%= Model.ImageTitle %>' }, 
    { 'href': '<%= Model.AnotherImagePath %>', 
     'title': '<%= Model.AnotherImageTitle %>' }], 
    {'padding': 0 //yada yada}  
    }) 
}; 

假設你正在寫在ASPX/ASCX鑑於這種代碼,它將嵌入數據從服務器端直接轉換爲HTML格式,類似於'echo'。

模型是一個對象,您將傳遞到控制器查看。

Here is how-to by Stephen Walther。


如果你的問題其實沒有那麼多有關從服務器端嵌入數據,但傳遞多個圖像路徑和標題給插件作爲參數,你可能想看看如何JSON serialization(<的凹口 - 只有一個方法來實現這一點)的作品。我很可能會創建一個序列化傳遞的對象htmlHelper和使用它像這樣:

$.fancybox([<%= Html.ToJSON(Model.Images)%>], 
    {'padding': 0 //yada yada}  
}) 
+0

@Barry如此 - 究竟是你的問題?什麼幫助? :) – 2010-08-17 09:13:45