2

我需要将链接的 href 属性设置为指向特定图像,该图像将数据库中的 id 设置为标题。但是,我在尝试格式化字符串以包含获取图像标题属性的调用时遇到了麻烦。

这是基本字符串:

$("#favoriteLink").hover(function() {
    $(this).attr("href", '<%: Url.Action("FavoriteWallpaper", "Wallpaper", new{wallpaperId='+$(this).children.attr("title")+'}) %>');
});

favoriteLink 是一个 div,而孩子只是一个图像。

4

2 回答 2

3

哦,不,您不能像尝试那样混合服务器端代码和 javascript。这个怎么样:

$('#favoriteLink').hover(function() {
    var title = $(this).children.attr('title');
    $(this).attr('href', function() {
        var url = '<%= Url.Action("FavoriteWallpaper", "Wallpaper", new { wallpaperId= "_TITLE_TO_REPLACE_"}) %>';
        return this.href.replace('_TITLE_TO_REPLACE_', title);
    });
});
于 2011-06-15T21:04:51.830 回答
0

你是 URL.Action 呈现在服务器端和你的 javascript 客户端。当您尝试构建链接时,您将无法访问 dom 元素。

您应该获得在 URL.Action 中呈现的实际 URL 并在客户端构建字符串

于 2011-06-15T21:06:33.487 回答