|
|
private Const string FromEmail="hui1986110@163.com"
private Conse string EmailPwd="sdfsdfdghdfg";
public bool SendEmail(string ToEmail,string Subject,string Body)
{
MailMessage Mail;
SmtpClient SmtpClient=new SmtpClient();
try
{
Mail=new MailMessage(FromEmail,ToEmail,Subject,Body);
<SmtpClient.EnableSsl=True >//s是否使用安全套接字层(SSl)加密连接
SmtpClient.Host="smtp.163.com";
SmtpClient.Port=25;
SmtpClient.Credentials=new New.NetWorkCredential(FromEmail,EmailPwd) //提供用于检索主机、端
口或身份验证类型的凭据的接口
SmtpClient.Send(Mail);
return true;
}
catch(Exception ex)
{
throw ex
}
}
protected string UrlPrefix(HttpRequest req)
{
string path = "http://"
+ req.Url.Host.ToString();
path += req.ApplicationPath != "/"
? req.ApplicationPath + "/"
: req.ApplicationPath;
return path;
}
读取动态生成静态页面
string http =this.UrlPrefix(HttpContext.Current.Request)+strPath+"/default.aspx";
WebRequest wr = WebRequest.Create(http);
WebResponse wrs = wr.GetResponse();
Stream stm = wrs.GetResponseStream();
StreamReader st = new StreamReader(stm, Encoding.Default);
StringBuilder sb = new StringBuilder();
sb.Append(st.ReadToEnd());
string Path=Server.MapPath("../../"+strPath+"/index.html");
StreamWriter sw = new StreamWriter(Path, false, Encoding.UTF8, 20480);
sw.Write(sb);
sw.Flush();
sw.Close();
/// <summary>
/// 给参数数组赋值
/// </summary>
/// <param name="p">参数数组</param>
/// <param name="_name">参数名称</param>
/// <param name="_value">参数值</param>
protected void initParams(ref IDataParameter[] p, string[] _name, object[] _value)
{
if (p.Length < _name.Length)
{
alert("参数数组维数和名称数组维数不等");
return;
}
if (_name.Length != _value.Length)
{
alert("名称数组维数和值数组维数不等");
return;
}
try
{
for (int i = 0; i < _name.Length; i++)
{
p[i] = this.helper.GetParameter(_name[i], _value[i]);
}
}
catch (Exception ex)
{
throw (ex);
}
}
假设你的DataGrid有三列,现在想将前两列作为"大类1",第三列作为"大类2",现在,你可以在ItemDataBound事件中加入下面的代码:
if (e.Item.ItemType == ListItemType.Header)
{
e.Item.Cells[0].ColumnSpan = 2;
e.Item.Cells[0].Text = "大类1</td><td>大类2</td></tr><tr><td>" + e.Item.Cells[0].Text;
}
用这个方法可以为任意添加新行。
2、设置绑定列或者自动生成列的编辑框宽度
请在你的ItemDataBound事件中加入一下代码:
if (e.Item.ItemType == ListItemType.EditItem)
{
for (int i = 0; i < e.Item.Cells.Count; i++)
{
TextBox txt = (TextBox)e.Item.Cells.Controls[0];
txt.Width = Unit.Pixel(50);
}
}
3、处理在DataGrid中的DropDownList的事件
DropDownList没有CommandName属性,所以不能用ItemCommand事件,不过你可以这样试试:
在DataGrid的模板列中加入的DropDownList控件
<asp:DropDownList runat="server" id="ddl" AutoPostBack="True" OnSelectedIndexChanged="ddl_SelectedIndexChanged" />
然后你在.aspx.cs中加入一个函数
protected void ddl_SelectedIndexChanged(object sender, System.EventArgs e) //一定要声明成protected或者public,不能是private的。
{
//在这里就可以加入其他代码
}
TreeView tree_gameNews
DataSet ds=new DataSet();
string parentComstr = "select ModelID,Model_Name from Model";
string childComstr = "select ModuleID,Mod_Name,ModelID from Module";
SqlConnection conn = new SqlConnection(user.connection());
SqlCommand parentcom = new SqlCommand(parentComstr,conn);
SqlCommand childcom = new SqlCommand(childComstr, conn);
SqlDataAdapter parentda = new SqlDataAdapter(parentcom);
SqlDataAdapter childda = new SqlDataAdapter(childcom);
parentda.Fill(ds, "parent");
childda.Fill(ds, "child");
ds.Relations.Add(new DataRelation("kind", ds.Tables["parent"].Columns["ModelID"], ds.Tables["child"].Columns["ModelID"]));
foreach (DataRow masterRow in ds.Tables["parent"].Rows)
{
TreeNode masterNode = new TreeNode();
masterNode.Text = masterRow["Model_Name"].ToString();
masterNode.NavigateUrl = "";
masterNode.Target = "module";
tree_gameNews.Nodes.Add(masterNode);
foreach (DataRow childrow in masterRow.GetChildRows("kind"))
{
TreeNode childnode = new TreeNode();
childnode.Text = childrow["Mod_Name"].ToString();
childnode.Target = "module";
childnode.NavigateUrl = "Column_body.aspx?moduleid=" + childrow["ModuleID"].ToString() ;
masterNode.ChildNodes.Add(childnode);
}
}
存入数据库的代码段:
<%
response.buffer=true
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13)&chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf&bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
Set conn = Server.CreateObject("ADODB.Connection")connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath ("book.mdb")
conn.Open connstr
set rec=server.createobject("ADODB.recordset")
rec.Open"SELECT * FROM guestbook where id is null",conn,1,3
rec.addnew
rec("img").appendchunk mydata
rec.update
rec.close
set rec=nothing
%>
另一个文件是showing.asp,则代码如下:
<% Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath ("book.mdb")conn.Open connstr
set rec=server.createobject("ADODB.recordset")
strsql ="select * from guestbook where id ="&request.QueryString("id")
rec.open strsql,conn,1,1
Response.ContentType="image/*"
Response.BinaryWrite rec("img").getChunk(7500000)
rec.close
set rec=nothing
set conn=nothing
%>
显示的方法为<img src="showing.asp?id=XXX"/>
public string ViewHtml(DataList dl)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
dl.RenderControl(new HtmlTextWriter(new System.IO.StringWriter(sb)));
return sb.ToString();
}