Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net新建页面上的按钮单击_C#_Asp.net - Fatal编程技术网

C# asp.net新建页面上的按钮单击

C# asp.net新建页面上的按钮单击,c#,asp.net,C#,Asp.net,当用户单击按钮时,尝试在新窗口中显示新页面。 试着用这个来测试,但到目前为止运气不好: Label1.Text = "<form><input type=button name=print value='Print View' onClick='javascript:window.open('http://mylink','mywindow')'></form>"; Label1.Text=”“; 我认为这可能是一个格式问题,但就是看不出来。 例如,这很好

当用户单击按钮时,尝试在新窗口中显示新页面。 试着用这个来测试,但到目前为止运气不好:

Label1.Text = "<form><input type=button name=print value='Print View' onClick='javascript:window.open('http://mylink','mywindow')'></form>";
Label1.Text=”“;
我认为这可能是一个格式问题,但就是看不出来。 例如,这很好:

<input type=button name=close value='Close' onClick='javascript:parent.jQuery.fancybox.close()'>

您可能应该使用:

Label1.Text = @"<form><input type=""button"" name=""print"" value=""Print View"" onClick=""javascript:window.open('http://mylink','mywindow')""></form>";
Label1.Text=@;
如果要包含变量,可以使用:

   string url = "http://www.google.com";
   Label1.Text = String.Format(@"<form><input type=""button"" name=""print"" value=""Print View"" onClick=""javascript:window.open('{0}','mywindow')""></form>", url);
stringurl=”http://www.google.com";
Label1.Text=String.Format(@“”,url);

但是,如果
url
的内容来自任何用户提供的输入,请确保其安全!否则,您可能会受到脚本注入攻击。

您可能应该使用:

Label1.Text = @"<form><input type=""button"" name=""print"" value=""Print View"" onClick=""javascript:window.open('http://mylink','mywindow')""></form>";
Label1.Text=@;
如果要包含变量,可以使用:

   string url = "http://www.google.com";
   Label1.Text = String.Format(@"<form><input type=""button"" name=""print"" value=""Print View"" onClick=""javascript:window.open('{0}','mywindow')""></form>", url);
stringurl=”http://www.google.com";
Label1.Text=String.Format(@“”,url);
但是,如果
url
的内容来自任何用户提供的输入,请确保其安全!否则,您可能会受到脚本注入攻击。

请尝试:

Label1.Text = "<form><input type=button name=print value='Print View' onClick='javascript:window.open(\"http://mylink\",\"mywindow\")'></form>";
Label1.Text=”“;
请尝试:

Label1.Text = "<form><input type=button name=print value='Print View' onClick='javascript:window.open(\"http://mylink\",\"mywindow\")'></form>";
Label1.Text=”“;

您认为问题不在于OP将标签的值设置为原始HTML?标签控件不转义字符吗?@KirkWoll-我不相信
标签
控件在默认情况下会转义。这些文档有一个安全警告,它们的示例代码使用HtmlEncode-猜你是对的。检查它不需要的代码。@KirkWoll-您可能正在考虑另一个ASP.NET控件,它默认对所有内容进行编码,尤其是在您不希望它这样做的情况下。ASP.NET控制框架是一个非常混乱的不一致性。好的,我需要在URL中间抛出一个变量,我想我又把格式搞错了。标签1.Text=“”;您不认为问题在于OP将标签的值设置为原始HTML吗?标签控件不转义字符吗?@KirkWoll-我不相信
标签
控件在默认情况下会转义。这些文档有一个安全警告,它们的示例代码使用HtmlEncode-猜你是对的。检查它不需要的代码。@KirkWoll-您可能正在考虑另一个ASP.NET控件,它默认对所有内容进行编码,尤其是在您不希望它这样做的情况下。ASP.NET控制框架是一个非常混乱的不一致性。好的,我需要在URL中间抛出一个变量,我想我又把格式搞错了。标签1.Text=“”;技术性,但是你应该使用文字而不是标签技术性,但是你应该使用文字而不是标签