【发布时间】:2013-09-12 14:23:55
【问题描述】:
是否有替代方法,因为使用 <form runat="server"> 会导致 500 错误。
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
已编辑
在@HansDerks 的帮助下,我最终使用了以下解决方案(所提供的解决方案的一个令人兴奋的版本。):
protected void Export_Click(object sender, System.EventArgs e)
{
StringWriter writer = new StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(writer);
GridView gridView = new GridView();
gridView.DataSource = MySqlDataSource;
gridView.AutoGenerateColumns = true;
gridView.DataBind();
gridView.HeaderRow.Style.Add("background-color", "#003c74");
gridView.HeaderRow.Style.Add("color", "#ffffff");
for (int i = 0; i < gridView.Rows.Count; i++)
{
GridViewRow row = gridView.Rows[i];
//Change Color back to white
row.BackColor = System.Drawing.Color.White;
//Apply text style to each Row
row.Attributes.Add("class", "textmode");
//Apply style to Individual Cells of Alternating Row
if (i % 2 != 0)
{
row.BackColor = System.Drawing.Color.AliceBlue;
}
}
gridView.RenderControl(htmlWriter);
htmlWriter.Close();
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=filename.xls");
Response.Charset = "";
Response.Write(writer.ToString());
Response.End();
}
我希望你们会发现它有用。谢谢大家!
【问题讨论】:
-
除了使用“what”还有其他选择吗?
-
@ChrisHammond
public override void VerifyRenderingInServerForm(Control control)我目前正在研究使用 Telerik 控件。我遇到了麻烦,因为没有 QuickStart.dll 就无法编译 -
@ChrisHammond 没有 Telerik 还有其他方法吗?我不能在我的自定义模块中使用
VerifyRenderingInServerForm,因为它依赖于<form runat="server">标签的使用。目前我正在研究一个telerik选项。如果有其他方法请告诉我?如果您有一个示例模块供我参考,请也告诉我。我正在使用 DNN 6.2.5
标签: c# asp.net dotnetnuke dotnetnuke-6