如何在c#代码中发送动态绑定gridview [英] how to sent dynamic bind gridview in c# code
本文介绍了如何在c#代码中发送动态绑定gridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用系统;
使用 System.Web;
使用 System.Web.UI;
使用 System.Web.UI.WebControls;
使用 System.IO;
使用 System.Data;
使用 System.Net.Mail;
使用 MySql.Data.MySqlClient;
使用 System.Configuration;
public partial class CS:System.Web.UI.Page
{
protected void Page_Load( object sender,EventArgs e)
{
if (!this .IsPostBack)
{
string EmailID = jitendra.gupta@osmoindia.com跨度>;
DateTime dt1 = DateTime.Now;
string 今天= dt1.ToString( YYYY-MM-DD跨度>);
// string Status =Approved;
MySqlConnection精读;
con = new MySqlConnection(ConfigurationManager.ConnectionStrings [ CON跨度>]的ToString());
con.Open();
MySqlCommand cmd = new MySqlCommand( SELECT contractorbasicdetail.EmailID,contractorbasicdetail.Contractor_ID,contractercategoryinfo.SCID,tender_information.TenderNo,tender_information.CID,add_department.DepName,add_distric.DName,add_state.SName,tender_information.PAC,tender_information.PTID,tender_information.EMD FROM contractordistric INNER JOIN contractorbasicdetail INNER JOIN contracterplanedetail ON contractorbasicdetail.Contractor_ID = contracterplanedetail.Contracter_ID INNER JOIN contracterstate ON contracterplanedetail.Contracter_ID = contracterstate.Conreacter_ID INNER JOIN contractdepartment ON contracterstate.SID = contractdepartment.SID AND contracterstate.Conreacter_ID = contractdepartment.Contracter_ID ON contractordistric.Contractor_ID = contractdepartment.Contracter_ID AND contractordistric。 Dep_ID = contractdepartment.Dep_ID INNER JOIN contractercategoryinfo ON con tractordistric.Contractor_ID = contractercategoryinfo.Contracter_ID INNER JOIN categoryinfo ON contractercategoryinfo.SCID = categoryinfo.SCID AND contractercategoryinfo.TKID = categoryinfo.TKID INNER JOIN tender_information on categoryinfo.TenderNo = tender_information.TenderNo AND contracterstate.CID = tender_information.CID AND contracterstate.SID = tender_information.SID和contractordistric.DID = tender_information.DID AND contractdepartment.Dep_ID = tender_information.Dep_ID AND contractdepartment.From1< tender_information.emd and = contractdepartment.to1 = > tender_information.EMD INNER JOIN add_department ON tender_information.Dep_ID = add_department.Dep_ID INNER JOIN add_distric ON tender_information.DID = add_distric.DID INNER JOIN add_state ON tender_information.SID = add_state.SID WHERE(contracterplanedetail.PlaneEndDate> ' +今天+ ')AND(tender_information.Status ='Approved')AND(contractorbasicdetail。 EmailID =' + EmailID + ')GROUP BY categoryinfo.TenderNo,contractorbasicdetail.EmailID,con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
if ( ds.Tables [ 0 ]。Rows.Count > 0 )
{
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
}
受保护 v oid SendEmail( object sender,EventArgs e)
{
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
GridView1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
MailMessage mm = new MailMessage( Jitendragupta1040 @ gmail.com, Jitendra.gupta@osmoindia.com);
mm.Subject = GridView Email;
mm.Body = GridView:< hr /> + sw.ToString (); ;
mm.IsBodyHtml = true ;
SmtpClient smtp = new SmtpClient();
smtp.Host = smtpcorp.com;
smtp.EnableSsl = true ;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = rohitgupta1040@gmail.com;
NetworkCred.Password = 密码;
smtp.UseDefaultCredentials = true ;
smtp.Credentials = NetworkCred;
smtp.Port = 587 ;
smtp.Send(mm);
}
}
}
public 覆盖 void VerifyRenderingInServerForm(控制控件)
{
/ * 验证控件是否呈现* /
}
受保护 void lnkDownload2_Click( object sender,EventArgs e)
{
Response.Write( 剩余工作量);
}
受保护 void GridView1_RowDataBound(< span class =code-keyword> object sender,GridViewRowEventArgs e)
{
if (e.Row.RowType = = DataControlRowType.DataRow)
{
Label lblSerial =(Label)e.Row.FindControl( lblSerial跨度>);
lblSerial.Text =((GridView1.PageIndex * GridView1.PageSize)+ e.Row.RowIndex + 1 )。ToString();
}
}
}
它给出以下错误请帮忙解决
RegisterForEventValidation只能在Render()期间调用;
谢谢
解决方案
试试这个:
只能在Render()期间调用RegisterForEventValidation; [ ^ ]
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Data;
using System.Net.Mail;
using MySql.Data.MySqlClient;
using System.Configuration;
public partial class CS : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
string EmailID = "jitendra.gupta@osmoindia.com";
DateTime dt1 = DateTime.Now;
string Today = dt1.ToString("yyyy-MM-dd");
//string Status = "Approved";
MySqlConnection con;
con = new MySqlConnection(ConfigurationManager.ConnectionStrings["con"].ToString());
con.Open();
MySqlCommand cmd = new MySqlCommand("SELECT contractorbasicdetail.EmailID,contractorbasicdetail.Contractor_ID,contractercategoryinfo.SCID,tender_information.TenderNo, tender_information.CID,add_department.DepName,add_distric.DName,add_state.SName,tender_information.PAC,tender_information.PTID, tender_information.EMD FROM contractordistric INNER JOIN contractorbasicdetail INNER JOIN contracterplanedetail ON contractorbasicdetail.Contractor_ID =contracterplanedetail.Contracter_ID INNER JOIN contracterstate ON contracterplanedetail.Contracter_ID =contracterstate.Conreacter_ID INNER JOIN contractdepartment ON contracterstate.SID =contractdepartment.SID AND contracterstate.Conreacter_ID =contractdepartment.Contracter_ID ON contractordistric.Contractor_ID =contractdepartment.Contracter_ID AND contractordistric.Dep_ID =contractdepartment.Dep_ID INNER JOIN contractercategoryinfo ON contractordistric.Contractor_ID =contractercategoryinfo.Contracter_ID INNER JOIN categoryinfo ON contractercategoryinfo.SCID =categoryinfo.SCID AND contractercategoryinfo.TKID =categoryinfo.TKID INNER JOIN tender_information ON categoryinfo.TenderNo =tender_information.TenderNo AND contracterstate.CID =tender_information.CID AND contracterstate.SID =tender_information.SID AND contractordistric.DID =tender_information.DID AND contractdepartment.Dep_ID =tender_information.Dep_ID AND contractdepartment.From1 <tender_information.emd and="" contractdepartment.to1="">tender_information.EMD INNER JOIN add_department ON tender_information.Dep_ID =add_department.Dep_ID INNER JOIN add_distric ON tender_information.DID =add_distric.DID INNER JOIN add_state ON tender_information.SID =add_state.SID WHERE (contracterplanedetail.PlaneEndDate > '" + Today + "') AND (tender_information.Status='Approved')AND (contractorbasicdetail.EmailID = '" + EmailID + "') GROUP BY categoryinfo.TenderNo,contractorbasicdetail.EmailID", con);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
if (ds.Tables[0].Rows.Count > 0)
{
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
}
protected void SendEmail(object sender, EventArgs e)
{
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
GridView1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
MailMessage mm = new MailMessage("Jitendragupta1040@gmail.com", "Jitendra.gupta@osmoindia.com");
mm.Subject = "GridView Email";
mm.Body = "GridView:<hr />" + sw.ToString(); ;
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "smtpcorp.com";
smtp.EnableSsl = true;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = "rohitgupta1040@gmail.com";
NetworkCred.Password = "Password";
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mm);
}
}
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
protected void lnkDownload2_Click(object sender, EventArgs e)
{
Response.Write("Work Remaining");
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Label lblSerial = (Label)e.Row.FindControl("lblSerial");
lblSerial.Text = ((GridView1.PageIndex * GridView1.PageSize) + e.Row.RowIndex + 1).ToString();
}
}
}
it giving following error Please help to solve
RegisterForEventValidation can only be called during Render();
thanks
解决方案
try this:
RegisterForEventValidation can only be called during Render();[^]
这篇关于如何在c#代码中发送动态绑定gridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文