2012-04-30 33 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