Comment puis-je retourner le code HTML de MVC contrôleur à un div de mon point de vue
Je suis en train de retourner le code HTML généré chaîne à la vue de générer dynamiquement un tableau HTML avec des résultats. Je ne suis pas en mesure d'obtenir le code HTML renvoyé chaîne des suggestions et de l'aide est grandement appréciée.
Voici mon code de Contrôleur
public ActionResult ValidateTrams()
{
string html = "";
if (Request.Files.Count == 0 || Request.Files[0].ContentLength == 0)
{
}
else
{
html = ProcessTextFile(Request.Files[0].InputStream);
}
return View(html);
}
Je suis en train de récupérer ce résultat retourné en jquery comme ce
$('#tramsView').live('click', function () {
$.ajax({
url: '/Booking/ValidateTrams',
type: 'POST',
dataType: 'jsonp',
success: function (data) {
alert(data);
$('#TramsViewFrame').html(data);
},
error: function (jqxhr, textStatus, errorThrown) {
$(window).hideWaitScreen();
if (confirm(errorThrown)) { window.location.reload(); }
}
});
});
Enfin ci-Dessous est la CSHTML pour la forme. Ici, je suis en train de lire un fichier à partir d'un formulaire avec un bouton de type submit
<form action="#" method="post" enctype="multipart/form-data" class="forms" name="form"
id="frmvalidate">
<table>
<tr>
<td>
<input type='file' name='trams' id='ValidatetramsFile' />
</td>
</tr>
<tr>
<td>
<br />
<input name="cbDisplayUmatched" id="cbDisplayUmatched" type="checkbox" value="" checked="true" />
<label style="text-decoration: none; outline: none; font-size: 1.1em; padding: 3px 0 0px 0;">
Display rows that were <strong>NOT</strong> parsed</label>
</td>
</tr>
<tr>
<td>
<br />
<div class="buttons">
<button type="submit" value="VIEW" class="ui-state-default ui-corner-all" id="tramsView">VIEW</button>
</div>
</td>
</tr>
</table>
</form>
Merci pour votre temps et j'apprécie vraiment votre aide. Sincères Salutations!!!
OriginalL'auteur Waas.CSpark | 2012-04-29
Vous devez vous connecter pour publier un commentaire.
Il semble que si votre formulaire est toujours soumettre une normale de publication, de sorte que toute les appels asynchrones que vous faites sont en train de disparaître.
Essayer de prévenir le défaut de soumission de formulaire de prendre la suivante:
Par ailleurs, dans ce cas, si tout ce que vous faites est de mettre à jour le code html sur votre
#TramsViewFrame
, vous pouvez simplement utiliser le légèrement plus simple $.load() méthode:OriginalL'auteur ngm
vous pouvez renvoyer le code HTML de l'action comme ça,
appeler à l'aide d'ajax..
J'ai peur "text/xml" serait de travailler. Peut-être que vous avez voulu dire le type mime "text/html" 🙂
OriginalL'auteur Jayantha Lal Sirisena
Faire ces changements
Donner l'attribut HttpPost sur le dessus de votre contrôleur
retourner la chaîne Json comme ce à partir du contrôleur.
Enfin la modification de votre type de données à partir de
pourjsonp
json
P. S: Si vous utilisez la dernière version de jQuery (1.7+), veuillez changer le
.live
gestionnaire de.on
gestionnaire. Pas obligatoire 🙂OriginalL'auteur naveen
Dans votre commande, puisque vous êtes en utilisant ajax post vous avez besoin de revenir en tant que JSON, il serait quelque chose comme ceci
OriginalL'auteur COLD TOLD
je pense que c'est une autre manière pertinente à votre scénario
How can I return the HTML from MVC controller to a div in my view
http://mazharkaunain.blogspot.com/2011/02/how-to-use-aspnet-mvc-javascriptresult.html
OriginalL'auteur maztt
au lieu de les stocker dans la "chaîne" store codes html dans le format suivant:
puis placer "<%: ViewData["Id_Same_as_that_in_above_code"] %>" où vous voulez que le code html à apparaître......simple.....
mais faire de la valeur initiale de Viewdata comme nulle dans l'indice de "()"méthode de sorte que le code n'est pas apparaître sur la page de la charge....
OriginalL'auteur code black