为什么url参数在javascript中没有正确的格式
本文关键字:格式 url 参数 javascript 为什么 | 更新日期: 2023-09-27 18:05:45
我必须创建一个javascript,其中包含一个url在代码背后的页面使用c#。但是javascript中的url参数在c#生成后没有正确的格式。
的例子:Url参数:
http://google.com
Javascript:Javascript: dnnModal.show("http://google.com",假的,365206年,false)
c#代码:string link = "http://google.com?popUp=true";
string googleIcon = "<a href='javascript:dnnModal.show('" + link +',false,365,206,false)'><img border='0' src='~/Icons/gIcon.png'></a>";
代码后生成的页面查看url格式不正确。我使用"查看选择源"查看aspx页面的代码后,有googleIcon的代码:
<a href="javascript:dnnModal.show(" http:="" google.com?popup="true',false,365,206,false)'"><img src="~/Icons/gIcon.png" border="0"></a>
图标上的超链接当我把鼠标移到上面的时候就会显示出来:
javascript:dnnModal.show(
url丢失,提醒字符串也丢失。
我需要一些帮助我的问题,以显示如何通过一个url参数到javascript使用c#的方式。
应该是这样的
string googleIcon = "<a href='"javascript:dnnModal.show('" + link + "',false,365,206,false)''"><img border='0' src='~/Icons/gIcon.png'></a>";
您没有正确转义字符串
string googleIcon = "<a href='javascript:dnnModal.show('"" + link +"'",false,365,206,false)'><img border='0' src='~/Icons/gIcon.png'></a>";
我同意另外两个答案,但您应该尝试将这类任务封装在用户控件中。但如果不可能的话,我建议使用System.Web.UI.HtmlControls
,因为它会给你更多的灵活性。
像这样:
HtmlLink myHtmlLink = new HtmlLink();
myHtmlLink.Href = @"javascript:dnnModal.show('"" + link +"'",false,365,206,false)";
HtmlImage myImage = new HtmlImage();
myImage.Src = "~/Icons/gIcon.png";
myImage.Border = 0;
myHtmlLink.Controls.Add(myImage);
我更喜欢这种方法,因为Asp.net负责创建DOM,这意味着您将是安全的,并且可以保证获得有效的XHTML结果。