好的,所以为了向Fusion Charts提供数据,我需要给它一些XML .. 我把它缩小到了这个
myChart.setDataXML("<%Html.RenderPartial("Graph", Model.graph_data); %>");
呈现
myChart.setDataXML("
<chart caption='Grafico' xAxisName='Factores' yAxisName='Porcentaje' decimals='0' formatNumberScale='0' numberSuffix='%25' yAxisMinValue='0' yAxisMaxValue='100' bgColor='FFFFFF' showBorder='1' bgSWF='/Content/images/LogoGraficas.png' slantLabels='1' labelDisplay='Rotate' baseFontColor='333333'>
<set value='100' label='Pierna' />
<styles>
<definition>
<style name='myShadow' type='Shadow' color='999999' angle='45'/>
</definition>
<application>
<apply toObject='DataValues' styles='myShadow' />
</application>
</styles>
</chart>");
但我需要呈现的是......
myChart.setDataXML("<chart caption='Grafico' xAxisName='Factores' yAxisName='Porcentaje' decimals='0' formatNumberScale='0' numberSuffix='%25' yAxisMinValue='0' yAxisMaxValue='100' bgColor='FFFFFF' showBorder='1' bgSWF='/Content/images/LogoGraficas.png' slantLabels='1' labelDisplay='Rotate' baseFontColor='333333'><set value='100' label='Pierna' /><styles><definition><style name='myShadow' type='Shadow' color='999999' angle='45'/></definition><application><apply toObject='DataValues' styles='myShadow' /></application></styles></chart>");
如何让RenderPartial返回没有空格的字符串?
答案 0 :(得分:0)
您可以尝试convert the PartialView output to a string,然后根据自己的意愿操纵它。
所以你最终会做的就是这样。
string data = RenderPartialToString("~/..../..../..../Graph.ascx", Model.graph_data);
data.Replace(System.Environment.NewLine, "");
myChart.setDataXML(data);
我知道这不是最佳解决方案,但它可能会解决您的问题。
更新:
更好的生成XML的方法是使用:XmlWriter
或XmlSerializer
或XDocument
我不是XML专家,因此我不知道哪种情况最适合您的情况,但我喜欢XmlSerializer
的工作方式。
查看一些示例Here