si6arp
دوشنبه 13 دی 1389, 09:37 صبح
با این روش دیگه نیازی نیست سایت مپ بسازید و دردسر های ساخت هم ندارید. و فقط برای یک بار کد را مینویسید و هر گاه به آن صفحه که ساختید (SiteMap.aspx) برید سایت مپ جدید را ساخته و تحویل شما خواهد داد برای اینکار همانطور گه کفته شد یفحه جدیدی با نام SiteMap.aspx ایجاد میکنید .
1 - قسمت کد Asp.net فقط و فقط این را باقی میگزاریم :
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SiteMap.aspx.cs" Inherits="SiteMap" %>
*** توجه داشته باشید که به غیر از این کد هیچی( حتی Html/Form/Body) وجود نداشته باشه
2 - در قسمت Code Behind هم داریم (Page_Load) :
public string changefreq = "hourly";
public string priority = "0.9";
private void ShowSiteMap()
{
Response.Clear();
Response.ContentType = "text/xml";
using (XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))
{
writer.WriteStartDocument();
writer.WriteStartElement("urlset");
writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
writer.WriteStartElement("url");
string Home = "http://www.barintools.com";
writer.WriteElementString("loc", Home);
writer.WriteElementString("changefreq", changefreq);
writer.WriteElementString("priority", priority);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
{
writer.Flush();
در صورتی که بخواهیم اطلاعات رو از دیتابیس بگشیم بیرون اینطوری میشه :
Response.Clear();
Response.ContentType = "text/xml";
using (XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))
{
writer.WriteStartDocument();
writer.WriteStartElement("urlset");
writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
writer.WriteStartElement("url");
SqlConnection cnn = new SqlConnection(Connection.GetConnect());
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "DataBase Store Procedure For Select Data";
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dap.Fill(ds, "ds");
foreach (DataRow dr in ds.Tables[0].Rows)
{
string Loc = "http://www.barintools.com/Default.aspx?tagname=" + dr["name"].ToString();
writer.WriteStartElement("url");
writer.WriteElementString("loc", Loc);
writer.WriteElementString("changefreq", changefreq);
writer.WriteElementString("priority", priority);
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
{
writer.Flush();
**نکته :
در قسمت کتابخانه خود این کد ها را اضافه نمایید :
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Net;
using System.Xml;
using System.Text;
موفق باشید
1 - قسمت کد Asp.net فقط و فقط این را باقی میگزاریم :
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SiteMap.aspx.cs" Inherits="SiteMap" %>
*** توجه داشته باشید که به غیر از این کد هیچی( حتی Html/Form/Body) وجود نداشته باشه
2 - در قسمت Code Behind هم داریم (Page_Load) :
public string changefreq = "hourly";
public string priority = "0.9";
private void ShowSiteMap()
{
Response.Clear();
Response.ContentType = "text/xml";
using (XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))
{
writer.WriteStartDocument();
writer.WriteStartElement("urlset");
writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
writer.WriteStartElement("url");
string Home = "http://www.barintools.com";
writer.WriteElementString("loc", Home);
writer.WriteElementString("changefreq", changefreq);
writer.WriteElementString("priority", priority);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
{
writer.Flush();
در صورتی که بخواهیم اطلاعات رو از دیتابیس بگشیم بیرون اینطوری میشه :
Response.Clear();
Response.ContentType = "text/xml";
using (XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))
{
writer.WriteStartDocument();
writer.WriteStartElement("urlset");
writer.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
writer.WriteStartElement("url");
SqlConnection cnn = new SqlConnection(Connection.GetConnect());
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "DataBase Store Procedure For Select Data";
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter dap = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dap.Fill(ds, "ds");
foreach (DataRow dr in ds.Tables[0].Rows)
{
string Loc = "http://www.barintools.com/Default.aspx?tagname=" + dr["name"].ToString();
writer.WriteStartElement("url");
writer.WriteElementString("loc", Loc);
writer.WriteElementString("changefreq", changefreq);
writer.WriteElementString("priority", priority);
writer.WriteEndElement();
}
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
{
writer.Flush();
**نکته :
در قسمت کتابخانه خود این کد ها را اضافه نمایید :
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Net;
using System.Xml;
using System.Text;
موفق باشید