为什么这个不需要的字符添加了动态创建的文本框?如何把它拿出来
onkeyup="numeri_validator(this,'clockin_100001_1','total_100001_1')"
这是背后的代码
string s="numeri_validator(this,'" + textboxClockIn.ID.ToString() + "','"+textboxTotal.ID.ToString()+"')";
string decodedString = System.Web.HttpUtility.HtmlDecode(s);
textboxClockIn.Attributes.Add("onkeyup",decodedString);
textboxClockOut.Attributes.Add("onkeyup", "numeri_validator(this,'" + textboxClockOut.ID + "','" + textboxTotal.ID + "')");
两种结果相同
当我打破这是我的休息结果
numeri_validator(this,'clockin_100001_1','total_100001_1')
请指教我
由于
答案 0 :(得分:2)
这实际上正是预期的结果。发生的事情是你的代码“转义”了所有可能导致HTML或SQL问题的字符。如果它没有这样做,你可能会得到奇怪的结果,你的文本意外结束或有错误的数据。
在这种情况下,您在字符串中的'
符号将更改为其转义版本,在本例中为“。
如果您不希望发生这种情况,那么您不应该使用HTMLDecode()。但是,建议不要这样做,因为如果您尝试解析该代码,可能会导致问题。
答案 1 :(得分:0)
实际上Javascript不会与此混淆(')它将作为'但是如果你动态创建控件那么你需要小心翼翼地完成由.net分配的ID如果您不知道
会导致问题由于