将xml从控制器传递给js

时间:2016-03-07 20:05:39

标签: javascript c# jquery asp.net-mvc-4

我将在UI上实现的目标。我有一个对象表,该对象的一个​​参数是xml字符串。当我通过链接点击某行时,应该打开带有格式化xml的弹出窗口。 所以,我试图将xml字符串传递给View with Viewmodel,然后将其放入链接的数据属性。用js读取数据属性并将其弹出。我使用bootstrap模态对话框。所以它看起来像这样:

<a class="open-xml" data-toggle="modal" data-xmlstring="@modal.Xml">Open xml</a>

和js:

$(document).on("click", ".open-xml", function() {
        var responseXml = $(this).data('xmlstring');
        $("#xml-viewer").find("textarea").text(responseXml);
    }
);

但它只显示第一个字。 我试图将它解析为json并在js中编码,但它仍然不适合我。也许你有另一个解决方案,或当前的工作示例?

2 个答案:

答案 0 :(得分:0)

要设置textarea的值,请使用val()

$("#xml-viewer").find("textarea").val(responseXml);

如果这不起作用,您最好使用ajax将xml检索为文本,并使用响应文本设置值

答案 1 :(得分:0)

解决了它。在

@model.Xml
的链接中添加另一个显示为none的div。然后通过点击得到这个html的和平,并把它放到弹出窗口与js。 所以我转移到js而不是xml,字符串或者json但是格式化了html。