Помощь MVC 2 с частями XML - PullRequest
0 голосов
/ 31 августа 2010

Хорошо, поэтому для предоставления данных в 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 вернуть мне строку без пробелов?

1 Ответ

0 голосов
/ 31 августа 2010

Вы можете попытаться преобразовать вывод PartialView в строку , а затем манипулировать ею по вашему желанию.

Так что вы в конечном итоге будете делать что-то вроде этого.

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

Я знаю, что это не лучшее решение, но оно может решить вашу проблему.

Обновление:

Лучшим способом создания вашего XML является использование: XmlWriter или XmlSerializer или XDocument

Я не эксперт по XML, поэтому я не знаю, что лучше для вашего случая, но мне нравится, как работает XmlSerializer.

См. Некоторые примеры Здесь

...