MVC rendre PartialViewResult à chaîne
Avertissement: j'ai édité la question parce que j'ai changé le processus, mais cela ne change rien au problème...
Je suis en train d'essayer d'obtenir un PartialViewResult
rendus à une chaîne, j'ai essayé d'utiliser le RenderRazorViewToString
Méthode à partir de cette question rendre une vue comme une chaîne de caractères..., j'ai reçu l'astuce de cette qustion mvc retour vue partielle en json
Mon problème est, la chaîne ressemble à ceci:
<$A$><h1>SomeHeader</h1>
<table</$A$><$B$> class="table table-striped"</$B$><$C$>> <tbody</$C$><$D$> data-bind="template: { name: 'eventTemplate', foreach: events }"</$D$><$E$>></tbody>
</table></$E$>
au lieu de cela
<h1>SomeHeader</h1>
<table class="table table-striped">
<tbody data-bind="template: { name: 'eventTemplate', foreach: events }"></tbody>
</table>
Mise à jour:
Le Processus ressemble à ceci:
public ActionResult Index(string item, long id)
{
var cont = SomePartialView(item, id);
return View(model: RenderRazorViewToString(cont));
}
maintenant le point de Vue juste rend la chaîne comme ceci:
@Model
La RenderRazorViewToString(PartialViewResult)
renvoie ce "paralysé" chaîne de...
pourquoi avez-vous besoin de retourner en partie sous forme de json? veuillez inclure votre utilisation du code (je suppose JQuery).
OriginalL'auteur Nefarion | 2013-07-09
Vous devez vous connecter pour publier un commentaire.
Il est également possible de retourner la ContentResult /Contenu objet comme un résultat de l'appel à l'Action.
Ensuite utiliser les résultats renvoyés dans une Vue.
Voici une illustration de cette solution (nécessite le RenderViewToString méthode):
Vue:
PartialView (source pour un contenu html):
Contrôleur:
OriginalL'auteur Mikhail
Cela a été confirmé par Microsoft.
C'est un bug dans le Asp.NET la version qui est fourni avec Visual Studio 2013 Preview.
Il a été corrigé dans Visual Studio 2013 RC.
OriginalL'auteur makzr
Quelle est la chaîne de ressembler avant de la convertir en json? A-t-elle le dollar éléments?
Qu'advient-il si vous venez de faire une chaîne avec le support de sortie tels que
"<h1>SomeHeader</h1><table class=\"table table-striped\"><tbody data-bind=\"template: { name:'eventTemplate', foreach: events }\"></tbody></table>"
Fait que le dollar des signes lors de la conversion en json?
Si non, alors ne l'ont pas vue tout d'étranges personnages ou les fins de ligne qui pourrait être à l'origine du dollar éléments.
OriginalL'auteur acarlon