控制不在MVC视图中呈现

时间:2016-05-06 20:23:22

标签: c# asp.net-mvc-4 ascx

在获得关于在MVC中使用ascx控件的问题之前,让我先说这不是我想要做的!然而,我上面的权力想继续使用ascx控件。

我开始在控制器中使用以下内容:

public ActionResult _CreditReporting(int id)
{
    return PartialView();
}

public static class myClass
{
    public static string GenerateHtmlFromYourControl(this HtmlHelper helper, string contId)
    {
        var credControl = new _person_creditreporting_control();

        credControl.ID = contId;

        var htmlWriter = new HtmlTextWriter(new StringWriter());

        credControl.RenderControl(htmlWriter);

        return htmlWriter.InnerWriter.ToString();
    }
}

以及我的观点中的以下内容

@using ds_iDMS.Controllers
    <div>
    @{
    Html.GenerateHtmlFromYourControl("_person_creditreporting_control.ascx");
    }
    </div>

一切似乎都正常工作,所有参数都被传递等。但ascx页面没有渲染,我不知道为什么

1 个答案:

答案 0 :(得分:0)

我会将视图更改为

@using ds_iDMS.Controllers
<div>
    @Html.Raw(Html.GenerateHtmlFromYourControl("_person_creditreporting_control.ascx"))
</div>

Phil Haack has a good quick reference guide to different bits of the razor syntax.它现在可能有点过时,但它仍然是一个非常有用的概述。