2013-03-30 28 views
0

如何將JavaScript動態href屬性應用於MVC中的錨定標記。我的要求是打開窗口點擊<a>。打開的窗口,我需要從控制器端通過某些參數,如URL或用戶登錄或沒有等我在網頁表單開發類似的代碼,如下面的代碼中後面的後面如何在MVC4中將動態Javascript添加到<a>標記

代碼:

if (User!= null) { 
         AspHyperLink.Attributes.Add("href", "javascript: openWindows('" + anchoreLink.ClientID + "', '" + URL + 
                     "', null, 'width=952,height=600,left=25,top=50,resizable=yes,scrollbars=no', '" + 
                     guestUser.ToString().ToLower() + "','" + DelayTime + "','" + SomimageImage.ClientID + "','" + 
                     imgfadedPath + "','" + imgpath + "');"); 

如何我可以在MVC世界實現這個嗎?

+0

一些屬性,如客戶端ID等似乎在模型或路線已經可用。所以利用那些在視圖中填充它們。對於其他人,請考慮使用ViewBag或ViewData。 – Sunny

回答

0

將所有參數通過模型傳遞給您的視圖,並在您的錨標記的onclick事件上調用JavaScript方法。如果有多個這樣的錨點,那麼在模型中使用特性,否則可以使用ViewBag。 代碼將是這樣的:

<a href="javascript:void(0)" onclick="OpenWindow('@Model.ClientID','@Model.URL','@Model.guestUser', '@Model.DelayTime',  '@Model.SomeimageClientId','@Model.imgfadedPath','@Model.imgpath')"> Click Here</a> 



<script type="text/javascript"> 
function OpenWindow(ClientID,URL,guestUser, DelayTime, SomeimageClientId,imgfadedPath,imgpath) 
{ 
     //Open Window Here. 
} 

</script> 
0

在MVC中,您查看填充由JavaScript所需要的任何參數。你的控制器應該把視圖所需的所有變量(如clientId,imgpath,imgfadedPath等)收集到一個模型中(或者如果你懶惰,進入ViewBag)。然後,在視圖中,可以使用這些參數來創建標籤:

下面是與Razor視圖引擎爲例:

<a href="javascript: openWindows('@Model.clientId, @Model.URL, ....')">click here</a> 
相關問題