其實查了很多Regex.Replace 的資料
但到最後還是搞不太清楚他裡面的亂碼在做什麼
只好拿別人已經寫好的東西來拼湊用一用
string[] reserve = { "EM" };
string content = Regex.Replace(content, String.Format("<(?!{0}).*?>", string.Join("", reserve)), String.Empty);
陣列reserve裡面所放的是要保留的Html語法字串
若想要一個都不留的話
我在這裡都用一個偷吃步的方法
直接在reserve裡面下一個根本不會出現的詞彙
這樣Html語法就可以被削的乾乾淨淨了
content是要進行字串處理的字串
引用自:http://www.dotblogs.com.tw/hunterpo/archive/2010/11/26/19732.aspx
ChickenJoe
2013年9月26日 星期四
C# 文字 寫入 TXT
StreamWriter sw = new StreamWriter(@"C:\Users\cody\Documents\1.txt");
sw.WriteLine("abc");
sw.Close();
記得先創好檔案路徑
還有要
Using System.IO;
sw.WriteLine("abc");
sw.Close();
記得先創好檔案路徑
還有要
Using System.IO;
Resource interpreted as Image but transferred with MIME type application/octet-stream:
如果使用VS2010開發ASP.NET
當你有使用到文件檔中的PNG圖片時
很有可能會出現以下的錯誤訊息
Resource interpreted as Image but transferred with MIME type application/octet-stream:
這是因為使用了VS的IIS所導致
但並不知道程式會受到什麼影響
解決方法就將此網頁直接價在本台主機的IIS上就不會有此錯誤產生
2013年9月23日 星期一
Html 傳值的幾種方式
簡單介紹一下Html傳值得幾種寫法 ,網頁大致來分有兩種傳值方式 "Get" 和 "Post"
Response.Redirect("NextPage.aspx?id=" + id + "&password=" + password);
<select id="childrenValue" name="childrenValue">
<%= childrenValue %>
</select>
<input id="Button1" type="button" value="123" onclick="htmlchange()" />
function htmlchange() {
//childrenValue 為下拉式選單
if ($("#childrenValue").val() == "請選擇") {
alert("尚未選擇結點");
}
else {
window.location.href = "Management/Node/CreateNewLevel.aspx?childrenValue=" + $("#childrenValue").val();
}
}
接值頁面
ParentIdLabel.Text = Request.QueryString["childrenValue"];
<input type="text" name="TextBox" value="123">
那本頁後端就可以直接使用name的變數來抓取(注意不是使用Id)
string id = Request["TextBox"];
先從 "Post" 部分開始介紹:
<form id="Post" method="post">
<input type="text" runat="server" id="Data">
<input id="button1" type="button" value= "java" onclick="post();" runat="server">
</form>
<script language="javascript">
function post() {
Post.action = "NextPage.aspx";
Post.submit();
}
</script>
接值頁面
string data=Request.Form["Data"].ToString();
另一種不用Javascript 使用Name 來接值的方式
<form method="POST" action="NextPage.aspx">
<p><input type="text" name="Textbox"></p>
<p><input type="submit" value="確定" name="submit2"></p>
</form>
接值頁面
string a = Request.Form["Textbox"].ToString();
使用 "Get" 方式
string id=123;
string passwod=123;
string passwod=123;
Response.Redirect("NextPage.aspx?id=" + id + "&password=" + password);
接值頁面
string id=Request.QueryString[" id"].ToString();
string password=Request.QueryString[" password"].ToString();
另一種用 " Get" 接值的方式
<%= childrenValue %>
</select>
function htmlchange() {
//childrenValue 為下拉式選單
if ($("#childrenValue").val() == "請選擇") {
alert("尚未選擇結點");
}
else {
window.location.href = "Management/Node/CreateNewLevel.aspx?childrenValue=" + $("#childrenValue").val();
}
}
接值頁面
ParentIdLabel.Text = Request.QueryString["childrenValue"];
在這邊可以注意到 "Post" 的接值方式是使用 Request.Form "Get" 是使用 Request.QueryString
那如果遇到本頁的後端想要拿到本頁前端的某一個 input type = text 要怎麼辦呢?
那本頁後端就可以直接使用name的變數來抓取(注意不是使用Id)
string id = Request["TextBox"];
2013年9月11日 星期三
C# DataTable 使用方式
public class takefile
{
SqlConnection conn = new SqlConnection("server = 127.0.0.1 ; database = LWS; uid = sa ; pwd = sa");
SqlCommand cmd = new SqlCommand();
public string[] takefilename(string filename)
{
//takefileBean takefilebean = new takefileBean();
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "SELECT _id, APP FROM " + filename ;
//cmd.Parameters.Clear();
//cmd.Parameters.AddWithValue("@filename", filename);
SqlDataAdapter sd = new SqlDataAdapter(cmd.CommandText, conn);
DataTable dt = new DataTable();
sd.Fill(dt);
string[] takefilename = new string[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
takefilename[i] = dt.Rows[i][0].ToString() + "|" + dt.Rows[i][1].ToString();
}
conn.Close();
return takefilename;
}
可以看到SqlDataAdapter會將讀到的資料全部放在DataTable中
之後的dt.Rows[i][0].ToString()第一個[]代表Row為資料的筆數
第二個[]代表Column為資料的欄位
簡單來說今天我們只從資料庫領取ID這個欄位
所以Column的欄位數只有1 所以在這裡永遠為0
如果今天我們從資料庫再多領取Datetime不同的資料
欄位數請自己往上計算 先領取的會再比較前面的欄位
Row的欄位數則是看你的資料庫存有幾筆資料而定
最後回傳一個二維的陣列出來
{
SqlConnection conn = new SqlConnection("server = 127.0.0.1 ; database = LWS; uid = sa ; pwd = sa");
SqlCommand cmd = new SqlCommand();
public string[] takefilename(string filename)
{
//takefileBean takefilebean = new takefileBean();
conn.Open();
cmd.Connection = conn;
cmd.CommandText = "SELECT _id, APP FROM " + filename ;
//cmd.Parameters.Clear();
//cmd.Parameters.AddWithValue("@filename", filename);
SqlDataAdapter sd = new SqlDataAdapter(cmd.CommandText, conn);
DataTable dt = new DataTable();
sd.Fill(dt);
string[] takefilename = new string[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
takefilename[i] = dt.Rows[i][0].ToString() + "|" + dt.Rows[i][1].ToString();
}
conn.Close();
return takefilename;
}
可以看到SqlDataAdapter會將讀到的資料全部放在DataTable中
之後的dt.Rows[i][0].ToString()第一個[]代表Row為資料的筆數
第二個[]代表Column為資料的欄位
簡單來說今天我們只從資料庫領取ID這個欄位
所以Column的欄位數只有1 所以在這裡永遠為0
如果今天我們從資料庫再多領取Datetime不同的資料
欄位數請自己往上計算 先領取的會再比較前面的欄位
Row的欄位數則是看你的資料庫存有幾筆資料而定
最後回傳一個二維的陣列出來
C# 運用字串進行切割
字串.ToString().Split(new string[] { "@;@" , "12" }, StringSplitOptions.RemoveEmptyEntries);
運用此方法可以進行自串的判斷切割 " " 裡面是要進行切的字串 運用數個切割可以確保一定
切到你想要的字串 最後StringSplitOptions.RemoveEmptyEntries可以把切出來的空格直接刪除
運用此方法可以進行自串的判斷切割 " " 裡面是要進行切的字串 運用數個切割可以確保一定
切到你想要的字串 最後StringSplitOptions.RemoveEmptyEntries可以把切出來的空格直接刪除
C# ASP Calendar 行事曆 紀錄某日日期事件方式
public partial class TestPage : System.Web.UI.Page
{
List<ScheduleEvent> lst;
public class ScheduleEvent
{
public string EventName;
public DateTime Date;
public Color EventColor;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//loading my list with some sample events.
lst = new List<ScheduleEvent>();
lst.Add(new ScheduleEvent {
Date = new DateTime(2011, 5, 17),
EventColor = Color.Lime,
EventName = "Arun's BirthDay" });
lst.Add(new ScheduleEvent {
Date = new DateTime(2011, 5, 31),
EventColor = Color.Red,
EventName = "Rohan's BirthDay" });
//Register day
Calendar1.DayRender += new DayRenderEventHandler(Calendar1_DayRender);
}
void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
var item=lst.Where(evnt => evnt.Date.Date.Equals(e.Day.Date)).FirstOrDefault();
if(item!=null)
{
e.Cell.BackColor = item.EventColor;
e.Cell.ToolTip = item.EventName;
e.Cell.Text = "<a href=" + e.SelectUrl + ">" + e.Day.DayNumberText + "</a>"; //調整滑鼠移到上方所顯示的內容
}
}
}
用此方式可以讓Asp行事曆裡面的元件更改你所紀錄日期的背景 底色 自體 或顯示的字樣
下列網址是Calendar屬性更改的參考網頁
http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.calendar_properties.aspx
{
List<ScheduleEvent> lst;
public class ScheduleEvent
{
public string EventName;
public DateTime Date;
public Color EventColor;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//loading my list with some sample events.
lst = new List<ScheduleEvent>();
lst.Add(new ScheduleEvent {
Date = new DateTime(2011, 5, 17),
EventColor = Color.Lime,
EventName = "Arun's BirthDay" });
lst.Add(new ScheduleEvent {
Date = new DateTime(2011, 5, 31),
EventColor = Color.Red,
EventName = "Rohan's BirthDay" });
//Register day
Calendar1.DayRender += new DayRenderEventHandler(Calendar1_DayRender);
}
void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
var item=lst.Where(evnt => evnt.Date.Date.Equals(e.Day.Date)).FirstOrDefault();
if(item!=null)
{
e.Cell.BackColor = item.EventColor;
e.Cell.ToolTip = item.EventName;
e.Cell.Text = "<a href=" + e.SelectUrl + ">" + e.Day.DayNumberText + "</a>"; //調整滑鼠移到上方所顯示的內容
}
}
}
用此方式可以讓Asp行事曆裡面的元件更改你所紀錄日期的背景 底色 自體 或顯示的字樣
下列網址是Calendar屬性更改的參考網頁
http://msdn.microsoft.com/zh-tw/library/system.web.ui.webcontrols.calendar_properties.aspx
訂閱:
文章 (Atom)