SORU
3 Aralık 2010, Cuma


'HTML denetleyicisi eylem içinde Jilet Kısmi bir Görünümünü oluşturmak için Nasıl ASP.NET MVC Razor:

Nasıl ASP.NET view engine verilen kısmi bir görünüm is known bir HTML oluşturmak için.

Ancak bu işlev çalışmaz kısmi görünümü jilet kullanılır, istisna kısmi görünüm elde etmez dediği gibi "Eğer". UserControl

Nasıl jilet kısmi görünümü desteklemek için render düzeltmek için?

E-postalar bu kısmi manzaralı formu oluşturmak için buna ihtiyacım var ...

GÜNCELLEME:

Kod başarısız (@MCI):

public string RenderPartialToString(string controlName, object viewData)
    {
        ViewPage viewPage = new ViewPage() { ViewContext = new ViewContext() };
        viewPage.Url = this.GetUrlHelper();

        string fullControlName = "~/Views/Email/"   controlName   ".ascx";

        viewPage.ViewData = new ViewDataDictionary(viewData);
        viewPage.Controls.Add(viewPage.LoadControl(fullControlName));

        StringBuilder sb = new StringBuilder();
        using (StringWriter sw = new StringWriter(sb))
        {
            using (HtmlTextWriter tw = new HtmlTextWriter(sw))
            {
                viewPage.RenderControl(tw);
            }
        }
        return sb.ToString();
    }

CEVAP
3 Aralık 2010, Cuma


@Html.Partial("nameOfPartial", Model)

Güncelleme

protected string RenderPartialViewToString(string viewName, object model)
{
    if (string.IsNullOrEmpty(viewName))
        viewName = ControllerContext.RouteData.GetRequiredString("action");

    ViewData.Model = model;

    using (StringWriter sw = new StringWriter()) {
        ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
        ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
        viewResult.View.Render(viewContext, sw);

        return sw.GetStringBuilder().ToString();
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jedimasterkyle

    jedimasterky

    11 ŞUBAT 2006
  • Lamborghini

    Lamborghini

    13 Aralık 2005
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009