为什么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#的方式。

为什么url参数在javascript中没有正确的格式

应该是这样的

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结果。