控件不在 MVC 视图中呈现
Control not rendering in MVC view
在开始抱怨在 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 页面没有呈现,我不确定为什么
我会将视图更改为
@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.它现在可能有点过时,但它仍然是一个非常有用的概述。
在开始抱怨在 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 页面没有呈现,我不确定为什么
我会将视图更改为
@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.它现在可能有点过时,但它仍然是一个非常有用的概述。