7
votes

Accédez aux aides HTML du formulaire Web lors de l'utilisation ASP.NET MVC

J'ajoute une forme Web à partir de laquelle je voudrais résoudre les itinéraires vers des URL. Par exemple, dans MVC, j'utiliserais simplement

return RedirectToAction("Action", "Controller");


2 commentaires

Vous avez besoin d'une instance d'Urlhelper, pas HTMLHelper


essayez ceci: Stackoverflow.com/Questtions/724153/...


3 Réponses :


15
votes

Essayez quelque chose comme ceci dans votre webform: xxx


0 commentaires

0
votes

Pour ceux qui recherchent un moyen HTMLHelper réel ou un moyen propres d'utiliser l'urlhelper dans une page:

public static class PageCommon
{
    public static System.Web.Mvc.UrlHelper GetUrlHelper(this System.Web.UI.Control c)
    {
        var helper = new System.Web.Mvc.UrlHelper(c.Page.Request.RequestContext);
        return helper;
    }
    class ViewDataBag : IViewDataContainer
    {
        ViewDataDictionary vdd = new ViewDataDictionary();
        public ViewDataDictionary ViewData
        {
            get
            {
                return vdd;
            }
            set
            {
                vdd = value;
            }
        }
    }
    public static System.Web.Mvc.HtmlHelper GetHtmlHelper(this System.Web.UI.Control c)
    {

        var v = new System.Web.Mvc.ViewContext();
        var helper = new System.Web.Mvc.HtmlHelper(v, new ViewDataBag());
        return helper;
    }
}


1 commentaires

Cela m'a échoué. J'ai créé la classe Pagecommon de classe. Et puis j'ai ajouté l'extrait de Masterpage.master. <% = this.gethtmlhelper (). Partielle ("Erreur")%> et a reçu une argumentNullexception.



4
votes

version révisée du code ci-dessus pour Pagecommon ... comme il est actuellement casse. XXX


1 commentaires

Cela m'a échoué. J'ai créé des MVCPages de classe. Et puis j'ai ajouté l'extrait de Masterpage.master. <% = Ceci.GethtmlHelper (). Partiel ("Erreur")%> et a reçu une invalidoppationException.