<div runat="server" id="f"></div>
<div runat="server" id="x"></div>
<script language="javascript">
function ee()
{
var e = "<% =k%>";
f.innerHTML = e; //关键在这里要通过
}
</script>
//a.aspx.cs
public string k;
void aa()
{
string k="<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr><td onmouseover=\"javascript:this.style.backgroundColor='#552211'; document.getElementById('x').innerHTML='<b>ccc</b>';\">kknd</td></tr></table>";
}
4 个解决方案
#1
你应该学习一下 javascript 语法知识。
\ 需要转义,写为两个\ 啊。
\ 需要转义,写为两个\ 啊。
#2
下边能写出(抄出)
这样的代码,自己应该反思一下!
string k="<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
这样的代码,自己应该反思一下!
#3
首先,在c# 代码运行时,字符串中也根本不存在什么 \" 这种东西。这纯粹是调试时你看到的,源代码中你写的转义符号。而运行时就只有双引号,并没有之前的那个斜杠。
代码
这里并不是把什么 k 变量赋值给 e。如果有人这样告诉你的,那么它纯粹是坑爹的教师。这里明明是“宏代换”的只是符,根本不是运行时的赋值语句。你从浏览器端打开 html 源代码看看,就知道该如何调试、测试了。你的老师可能稀里糊涂地糊弄你,所以才让你以为这里是把 k 变量的值赋值给什么e变量。如果是博客上这么写的,那么这个作者的博客以后就别看了。因为指鹿为马往往是一种故意欺骗行为,是一些培训老师图省事、快速打发流水线的“小工”而故意这样说的。
既然变量 k 中的双引号之前并没有斜杠,而宏代换从而输出 html/javascript 代码的时候需要在双引号前边有斜杠,那么显然你就需要将 k 中的双引号替换为 /" 两个符号。
那么问题来了,你知道在c# 代码(string.Replace 函数的参数)中的字符串中表示两个符号 /" 为什么需要写为 ///" 吗?
如果不知道,请重新学习 c# 编程。一定要重新学习!
代码
var e = "<% =k%>";
这里并不是把什么 k 变量赋值给 e。如果有人这样告诉你的,那么它纯粹是坑爹的教师。这里明明是“宏代换”的只是符,根本不是运行时的赋值语句。你从浏览器端打开 html 源代码看看,就知道该如何调试、测试了。你的老师可能稀里糊涂地糊弄你,所以才让你以为这里是把 k 变量的值赋值给什么e变量。如果是博客上这么写的,那么这个作者的博客以后就别看了。因为指鹿为马往往是一种故意欺骗行为,是一些培训老师图省事、快速打发流水线的“小工”而故意这样说的。
既然变量 k 中的双引号之前并没有斜杠,而宏代换从而输出 html/javascript 代码的时候需要在双引号前边有斜杠,那么显然你就需要将 k 中的双引号替换为 /" 两个符号。
那么问题来了,你知道在c# 代码(string.Replace 函数的参数)中的字符串中表示两个符号 /" 为什么需要写为 ///" 吗?
如果不知道,请重新学习 c# 编程。一定要重新学习!
#4
随便手打的太快, 上面的 / 请改为 \。
#1
你应该学习一下 javascript 语法知识。
\ 需要转义,写为两个\ 啊。
\ 需要转义,写为两个\ 啊。
#2
下边能写出(抄出)
这样的代码,自己应该反思一下!
string k="<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr>
这样的代码,自己应该反思一下!
#3
首先,在c# 代码运行时,字符串中也根本不存在什么 \" 这种东西。这纯粹是调试时你看到的,源代码中你写的转义符号。而运行时就只有双引号,并没有之前的那个斜杠。
代码
这里并不是把什么 k 变量赋值给 e。如果有人这样告诉你的,那么它纯粹是坑爹的教师。这里明明是“宏代换”的只是符,根本不是运行时的赋值语句。你从浏览器端打开 html 源代码看看,就知道该如何调试、测试了。你的老师可能稀里糊涂地糊弄你,所以才让你以为这里是把 k 变量的值赋值给什么e变量。如果是博客上这么写的,那么这个作者的博客以后就别看了。因为指鹿为马往往是一种故意欺骗行为,是一些培训老师图省事、快速打发流水线的“小工”而故意这样说的。
既然变量 k 中的双引号之前并没有斜杠,而宏代换从而输出 html/javascript 代码的时候需要在双引号前边有斜杠,那么显然你就需要将 k 中的双引号替换为 /" 两个符号。
那么问题来了,你知道在c# 代码(string.Replace 函数的参数)中的字符串中表示两个符号 /" 为什么需要写为 ///" 吗?
如果不知道,请重新学习 c# 编程。一定要重新学习!
代码
var e = "<% =k%>";
这里并不是把什么 k 变量赋值给 e。如果有人这样告诉你的,那么它纯粹是坑爹的教师。这里明明是“宏代换”的只是符,根本不是运行时的赋值语句。你从浏览器端打开 html 源代码看看,就知道该如何调试、测试了。你的老师可能稀里糊涂地糊弄你,所以才让你以为这里是把 k 变量的值赋值给什么e变量。如果是博客上这么写的,那么这个作者的博客以后就别看了。因为指鹿为马往往是一种故意欺骗行为,是一些培训老师图省事、快速打发流水线的“小工”而故意这样说的。
既然变量 k 中的双引号之前并没有斜杠,而宏代换从而输出 html/javascript 代码的时候需要在双引号前边有斜杠,那么显然你就需要将 k 中的双引号替换为 /" 两个符号。
那么问题来了,你知道在c# 代码(string.Replace 函数的参数)中的字符串中表示两个符号 /" 为什么需要写为 ///" 吗?
如果不知道,请重新学习 c# 编程。一定要重新学习!
#4
随便手打的太快, 上面的 / 请改为 \。