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

  • BgirlNilaya

    BgirlNilaya

    29 EKİM 2008
  • Doc Adams

    Doc Adams

    20 HAZİRAN 2007
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008