2012-02-13 261 views
1

我在MVC 3中使用jQuery網格。作爲格式化程序選項,我將以下代碼用作腳本段。如何在Razor語法中傳遞javascript值(作爲參數值)

function viewformateadorLink(cellvalue, options, rowObject) { 
      return "<a href=../xxx/yyy/Edit/" + rowObject[0] + ">" + cellvalue + "</a>"; 
     } 

,但我不希望使用的href這裏.better選項我發現如下:

func....(){ 
    var url = '@Html.ActionLink("_name_", "Edit", new { id = "_id_" })'; 
      url = url.replace(/_name_/, cellvalue); 
      url = url.replace(/_id_/, rowObject[0]); 
      return url;  
    } 

有沒有什麼簡單的辦法存在傳遞參數?

+0

你的代碼似乎很好。你遇到什麼問題? – 2012-02-13 08:38:23

+0

這非常相似,如果不是我已經做過同樣事情的改進。我喜歡你的令牌替換想法。我以前使用@ ViewBag.RedirectUrl = @ Html.ActionUrl(arg,arg)生成一個URL,然後在我的HTML控件中使用onclick =「window.location.href ='@ ViewBag.RedirectUrl'」來重定向。感覺有點骯髒,我也會對任何更乾淨的方式感興趣。 – 2012-02-13 10:02:34

回答

3

如果要傳遞給鏈接的值在JavaScript變量中,並且您不想使用href,那麼恐怕您不能走得比已經走過的更遠,這就是爲什麼:

JavaScript代碼總是在服務器端代碼後執行。

我想你想這樣做:

@Html.ActionLink("_name_", "Edit", new { id = *JAVASCRIPT VARIABLE* }) 

但由於我上面提到的原因,這樣的事情是不可能的。

我建議你堅持你在問題中使用的任何其他方法。

+0

感謝您的澄清! – mnhmilu 2012-03-19 08:16:39

相關問題