可以在LI里面插入HTML.Actionlink吗?

时间:2015-05-12 15:23:15

标签: javascript html asp.net-mvc html-lists actionlink

我尝试使用以下代码在li元素中插入@HTML.ActionLink元素:

    var ul = document.getElementById('container');  
    var enlace = '@Html.ActionLink("Details", "Details", "Elements", new { id = "5" }, null)';

    var li = document.createElement('li');
    li.appendChild(document.createTextNode('My title'));
    li.appendChild(document.createElement('br'));

    ///////////////////////////////////////////////
    li.appendChild(document.createElement(enlace));
    ///////////////////////////////////////////////

    ul.appendChild(li);

有可能吗?

1 个答案:

答案 0 :(得分:0)

您将整个HTML元素传递给document.createElement()document.createElement('<a href="someLink">some text</a>') 只需要一个标记名称。基本上,你是这样做的:

document.createElement('a');

而函数的工作原理如下:

///////////////////////////////////////////////
var enlaceElement = document.createElement('a');
enlaceElement.innerHTML = enlace;
li.appendChild(enlaceElement);
///////////////////////////////////////////////

您可以通过将元素的创建与元素的HTML设置分离到自定义服务器生成的HTML来解决此问题。仅替换注释所包含的代码,它可能如下所示:

 .splash_image img{
    width:100%;
    position:fixed;
  }

我有一个完整的演示here