0

好的,所以为了向 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 把没有空格的字符串还给我?

4

1 回答 1

0

您可以尝试将 PartialView 输出转换为字符串,然后根据需要对其进行操作。

所以你最终会做的是这样的事情。

string data = RenderPartialToString("~/..../..../..../Graph.ascx", Model.graph_data);
data.Replace(System.Environment.NewLine, "");
myChart.setDataXML(data);

我知道这不是最好的解决方案,但它可能会解决您的问题。

更新 :

生成 XML 的更好方法是使用:XmlWriterXmlSerializerXDocument

我不是 XML 专家,所以我不知道哪个最适合您的情况,但我喜欢这种XmlSerializer工作方式。

在此处查看一些示例

于 2010-08-31T16:20:01.447 回答