C# 使用文本框作为“发布它”/“粘性备忘录”客户端事件

本文关键字:备忘录 事件 客户端 粘性备忘录 发布它 布它 文本 | 更新日期: 2023-09-27 17:57:10

我希望文本框像"发布它"或"粘性备忘录"一样,就像小部件Igoogle或Windows 7小部件一样。

这个想法:

 <asp:TextBox ID="TextBox1" runat="server"> 
 </asp:TextBox>

每次用户在文本框中键入时,它都会调用Javascript将文本保存到cookie中。

有人可以给我一个提示吗?

C# 使用文本框作为“发布它”/“粘性备忘录”客户端事件

这有点快和肮脏,但会让你继续。

网络上有很多setCookie/getCookie JS片段。我使用了这些:

http://www.dotnetspark.com/kb/1480-use-cookies-javascript-getcookie-setcookie.aspx

现在的代码:

<input type="text" id="txtMemo" />
<script type="text/javascript">
function setCookie(CookieName, CookieVal, CookieExp, CookiePath, CookieDomain, CookieSecure)
{
     var CookieText = escape(CookieName) + '=' + escape(CookieVal); //escape() : Encodes the String
    CookieText += (CookieExp ? '; EXPIRES=' + CookieExp.toGMTString() : '');
    CookieText += (CookiePath ? '; PATH=' + CookiePath : '');
    CookieText += (CookieDomain ? '; DOMAIN=' + CookieDomain : '');
    CookieText += (CookieSecure ? '; SECURE' : '');
    document.cookie = CookieText;
}
// This functions reads & returns the cookie value of the specified cookie (by cookie name) 
function getCookie(CookieName)
{
    var CookieVal = null;
    if(document.cookie)       //only if exists
    {
           var arr = document.cookie.split((escape(CookieName) + '=')); 
           if(arr.length >= 2)
           {
               var arr2 = arr[1].split(';');
               CookieVal  = unescape(arr2[0]); //unescape() : Decodes the String
           }
    }
    return CookieVal;
}
var memoCookieName = "txtMemo_value";
var memoElementId = "txtMemo";
var memoElement = document.getElementById(memoElementId);
memoElement.value=getCookie(memoCookieName);
memoElement.onkeyup = function() {
    setCookie(memoCookieName,this.value, new Date(new Date().getTime()+1000*60*60*24*30));
};
 </script>

这将适用于纯 HTML。在使用 ASP.NET 标记和控件的情况下,ID 属性具有不同的含义,因此您需要使 JS 知道实际的客户端 ID。例如,这种方式:

(...)
var memoCookieName = "txtMemo_value";
var memoElementId = "<%= TextBox1.ClientID %>";
var memoElement = document.getElementById(memoElementId);
(...)

当然。玩"更改"事件:

  • http://www.w3schools.com/jsref/event_onchange.asp

这只是关于使用此事件并更新您之前使用 JavaScript 创建的一些 cookie。