내 코드의 그 : 그것은 교체없이 년대에 그대로 MSG가 데이터베이스로 전송됩니다는 C#에서 이미지에서 텍스트를 교체
[WebMethod]
public static void SendChatMessage(string msg, int ToClient)
{
if (msg != null && ToClient != 0)
{
if (msg.Contains(":-)")) msg.Replace(":-)", "<img src='Styles/emojie/smile.png' /> ");
else if (msg.Contains(":-(")) msg.Replace(":-(", "<img src='Styles/emojie/sad.png' /> ");
else if (msg.Contains(":'-(")) msg.Replace(":'-(", "<img src='Styles/emojie/cry.png' /> ");
else if (msg.Contains(":-$")) msg.Replace(":-$", "<img src='Styles/emojie/shy.png' /> ");
int FromClientID = Convert.ToInt32(HttpContext.Current.Session["ClientID"]);
string query = "insert into chat (FROM_CLIENT,TO_CLIENT,CHAT_MSG) values (" + FromClientID + "," + ToClient + ",'" + msg + "')";
new SQLHelper(SQLHelper.ConnectionStrings.WebSiteConnectionString).Insert(query);
}
}
내가 뭘 잘못하고 있는가?
, 다른 생각 : 내가 데이터베이스에서 읽은 후 교체 할 것,하지에 쓰기 전에 그것. 위의 방법을 사용하면 예를 들어 URL이 바뀔 때 문제가 발생할 수 있습니다. 또는 브라우저에서 실행되지 않고 새 클라이언트를 구현하려는 경우 (html을 마크 업으로 사용하는 경우조차도). 또한, 새로운 스마일을 추가하면, 그들은 과거의 스마일에만 적용되지 않고 미래의 메시지에만 적용됩니다. 당신의 질문에 대한 답변은 완벽하게 jon skeet (어떤 명예 : D) –