2012-04-30 35 views
0

所以我一直在努力處理這段代碼幾個小時,我覺得它只是一個錯誤的引號或不逃避符號的問題,但這裏是問題所在。 我有一個JSON調用(在JavaScript中),它加載了一個URL列表(文章標題)。 然後我動態地將這些URL添加到Div中,並使用document.createElement構建我的頁面。MVC3 url with javascript

問題是我不能從JSON列表中獲取參數,以便在Razor URL字符串中工作。

var articleTitle = document.createElement("div"); 
       articleTitle.className = "articleTitle"; 
       articleTitle.innerHTML = '<a href="@Url.Action("Article", "Content", new { url = ' + article.Url + ', page = 1 }, null)">' + article.Title + '</a>'; 
       articlewrapper.appendChild(articleTitle); 

的網址:{url =「+ article.Url +」, 是這裏的問題,我似乎無法獲得實際值,鏈接現在只打印出article.Url。該文章。標題工作就好:)

回答

0

是article.Url和article.Title從JavaScript代碼檢索JSON呢?我認爲你的問題在於你將.NET代碼與JavaScript代碼混合在一起。

.NET將首先在服務器上呈現,然後在.NET完成它的工作之後,JavaScript將在客戶端上接管。

您可能必須嘗試一些像:

<script> 
var sampleAction = @Url.Action("Article", "Content", new { url='[replace]' }, page = 1} null); 

//... OTHER CODE ... 

articleTitle.innerHTML = '<a href=" + sampleAction.replace('[replace]', article.Url) +">' + article.Title + '</a>'; 
</script> 
+0

謝謝,成功了! – NeedACar

+0

這是最終的代碼: var link ='' + article.Title + ''; articleTitle.innerHTML = link.replace(「Temp」,article.Url); – NeedACar