用response.write输出html语句的问题·。。求解答

qiuguoqiuguo 2012-02-19 08:14:31
  context.Response.Write(@" <form action ='Hello.ashx'>
姓名:<input id='Text1' name='Username'type='text'value='"+username+@"' />
<input id='Button1' type='submit' value='提交' />
</form> ");


上面的语句看不明白,特别是'text'value='"+username+@,这里不知什么意思,??
...全文
311 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuguoqiuguo 2012-02-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xiaojunfei3 的回复:]

上面

value='"+username+@"' />

username是一个变量,如果username是一个常量值为abc,上面的写法应该是

name='Username' type='text' value='abc' />

现在把这个abc换成变量
"name='Username' type='text' value='abc //这里当然要先将前面的字符串闭合
……
[/Quote]

很仔细,谢谢
q2104574 2012-02-20
  • 打赏
  • 举报
回复
转移字符串啊。。。。
拼接语句来着。
比如 一个字符串+一个动态数据 +一个字符串。
你总不能 “字符串 数据 字符串”。所以必须 string s="字符串"+动态数据+"字符串"
然后 @是转移字符,,比如 有个 \ 斜杠 字符串。这个必须要有 \\ 才能显示为1个 斜杠
xiaojunfei3 2012-02-19
  • 打赏
  • 举报
回复
上面

value='"+username+@"' />

username是一个变量,如果username是一个常量值为abc,上面的写法应该是

name='Username' type='text' value='abc' />

现在把这个abc换成变量
"name='Username' type='text' value='abc //这里当然要先将前面的字符串闭合

"name='Username' type='text' value='abc " + //这里是变量了

"name='Username' type='text' value='abc " + username //acb前面的单引号没有闭合

"name='Username' type='text' value='abc " + username +"'"

但<input>还差">",所以
"name='Username' type='text' value='abc " + username +"'>"

又因为下面还有HTML代码,还要接着写,所以仍然要加"@"
"name='Username' type='text' value='abc " + username + @"'>"

把那些“abc“去掉
xiaojunfei3 2012-02-19
  • 打赏
  • 举报
回复
上面的语句看不明白,特别是'text'value='"+username+@,这里不知什么意思,??

context.Response.Write(@" <form action ='Hello.ashx'>
姓名:<input id='Text1' name='Username'type='text'value='"+username+@"' />
<input id='Button1' type='submit' value='提交' />
</form> ");

把其它的去掉
只剩
context.Response.Write(@"
姓名:<input id='Text1' name='Username'type='text'value='"+username+@"' />
");
第一行中context.Response.Write(@" 的这个 "@" 意是不转义,而且可以将字符串分多行写

第二行
name='Username'type='text'value='"+username+@"' />
这里明显少了空格
应该是
name='Username' type='text' value='"+username+@"' />

value='"+username+@"' />

username是一个变量,如果username是一个常量值为abc,上面的写法应该是

name='Username' type='text' value='abc' />

现在把这个abc换成变量
"name='Username' type='text' value='abc //这里当然要先将前面的字符串闭合

"name='Username' type='text' value='abc " + //这里是变量了

"name='Username' type='text' value='abc " + username //acb前面的单引号没有闭合

"name='Username' type='text' value='abc " + username +"'"

但<input>还差">",所以
"name='Username' type='text' value='abc " + username +"'>"

又因为下面还有HTML代码,还要接着写,所以仍然要加"@"
"name='Username' type='text' value='abc " + username + @"'>"


色拉油 2012-02-19
  • 打赏
  • 举报
回复
拼字符串,你分开写就明白了
dalmeeme 2012-02-19
  • 打赏
  • 举报
回复
username只是字符串变量名,该变量的值并不一定代表"username"这个字符串。注意字符串变量名同字符串常量的不同。
qiuguoqiuguo 2012-02-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dalmeeme 的回复:]

就是将3个字符串拼接起来,第2个是名为username的字符串变量,第3个是
"' />
<input id='Button1' type='submit' value='提交' />
</form> "

前面加@表示该字符串不转义,按原义理解。
[/Quote]
为什么value='"+username+@"',这里那么复杂,直接value = ’username ‘ 不行吗
风骑士之怒 2012-02-19
  • 打赏
  • 举报
回复
字符串拼接呗,username是字符串变量名

字符串里面有很多需要转义的话,一个个用斜杠太麻烦,用@就搞定了。

name='Username'type='text'value='"+username+@"' />

应该还少了空格,为:name='Username' type='text' value='"+username+@"' />
dalmeeme 2012-02-19
  • 打赏
  • 举报
回复
比如string s="你好!\r\n再见。";
等价于
string s=@"你好!
再见。";
dalmeeme 2012-02-19
  • 打赏
  • 举报
回复
就是将3个字符串拼接起来,第2个是名为username的字符串变量,第3个是
"' />
<input id='Button1' type='submit' value='提交' />
</form> "

前面加@表示该字符串不转义,按原义理解。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧