Лучше всего, чтобы вы установили видимость GridView на false.Это предотвратит рендеринг элемента управления, потому что ... теперь он невидим.В результате получается пустая строка.
Если вы не хотите показывать GridView, просто установите для параметра Visibility значение true, прежде чем выполнять код рендеринга, и установите его впоследствии:
gv_sample.Visible = true;
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
gv_sample.RenderControl(htw);
var outputHtml = sw.ToString();
gv_sample.Visible = false;
Возможно, сейчас у вас возникнут проблемы с методом RenderControl.Если это так, убедитесь, что вы установили EnableEventValidation="false"
в директиве Page и переопределите метод VerifyRenderingInServerForm
:
public override void VerifyRenderingInServerForm(Control control)
{
return;
}