2012-02-27 3 views
0

Я занимаюсь веб-конфигуратором уже некоторое время, и, наконец, он заканчивается. Здесь я застрял. Я сохраняю некоторые данные в xml из кода (C#), используя Linq. Хорошо, я использую XDocument для создания xml, а затем я могу сохранить этот xml в переменной Session.ASP.Net xml строка сеанса для управления данными

Теперь моя проблема заключается в том, что я хочу показать, что данные XML были организованы для пользователя. Итак, как я могу показать, что данные xml (которые хранятся в переменной сеанса в виде строки)? Должен ли я разбирать строку и назначать ее элементу управления? Я думаю, что отображение данных xml через элемент управления будет правильным, но эти данные поступают из строкового сеанса. Пример того, что я имею в виду:

Control.DataSource = Session["theXmlDocument"].ToString()?;Control.DataBind(); 

или

Control.DataSource = XDocument. _ 

Эта последняя строка будет создание XML в то же время asigning к регулятору. Есть идеи??? Я просто хочу показать элемент управления с данными xml, где источником данных может быть сеанс со строкой или что-то подобное. Я знаю, что XMLDataSource существует, но не так, как будто я хочу, чтобы он работал. Является ли это возможным?

+0

Тогда почему бы не просто показать строку (вы правы о не нужно создавать xdocument в этом случае, поскольку это пустая трата ресурсов) – user1227804

+0

Потому что, если я просто покажу строку, она не будет отформатирована для пользователя. – Katarot

+0

Правда о трате ресурсов, поэтому я использую сеанс. Также мне нужно сохранить эти данные, которые я хочу показать в XML для последующего использования. – Katarot

ответ

0

Если вы просто хотите показать xml пользователю, почему бы просто не использовать элемент <textarea>?

В вашем контроллере, просто что-то вроде этого:

public ActionResult Index() 
{ 
    YourModel m = new YourModel(); 
    m.xml = Session["theXmlDocument"] as XDocument; 
    return View(m); 
} 

Затем на ваш взгляд, отображать XML из модели в <textarea>:

<textarea style="width: 600px; height: 400px"> 
    @Model.xml.ToString() 
</textarea> 

XDocument.ToString() отступы xml по умолчанию, и вот пример результата в IE: enter image description here

Смежные вопросы