我想知道是否有办法在vb
page:test1.aspx
<a href="#" onclick="Popup=window.open('testopen.aspx?jack=hello','Popup','toolbar=yes,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=420,height=400,left=430,top=23'); return false;">Test Window</a>
页:test2.aspx.vb
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim check As String = "<a href='#' onclick='Popup=window.open('make_changes_form.aspx','Popup','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=420,height=400,left=430,top=23'); return false;>Test Window from vb</a>"
Context.Response.Write(check)
End Sub
page test1.aspx
中的代码有效
现在我想如果有办法让它在page:test2.aspx.vb
中工作,因为当前的方法对我不起作用。
谢谢
编辑
我试图这样做的原因是因为我不能通过传递整数来使用javascript中的函数
例如
Javascript
function hello (str1)
{
alert(str1)
alert ("hello world")
}
aspx code
<input type="text" id="2">
<a href="#" onClick="hello(2.value)">CheckFunction</a>
这就是为什么我不能使用函数,因为函数不会激活,因为id不能是一个数字,它必须有一个字母数字值
答案 0 :(得分:1)
您应该使用标准的ASP.NET超链接控件和ScriptManager.RegisterStartupScript,而不是使用Response.Write。然后你可以使用jQuery来发出警报:
在您的页面上:
<asp:HyperLink runat="server" ID="lnkPopup" ClientIDMode="Static" NavigateUrl="#">Show Popup</asp:HyperLink>
在你的代码隐藏中:
Dim js = <js>$(document).ready(function () {
$('#lnkPopup').bind('click', function () {
alert('Some text');
});
});</js>.Value
ScriptManager.RegisterStartupScript(Me, GetType(Page), "jsPopup", js, true);
实际脚本是一个多行文字,使用VB.NET更容易阅读。
答案 1 :(得分:1)
使用Firebug,我注意到标签没有与javascript一起使用,所以我创建了一个功能,并从事件onclick调用它,它对我来说很好。
试试这个:
Dim check As String = "<a href='#' onclick='OpenPopUp()'>Test Window from vb</a>"
Context.Response.Write(check)
jscript += "<script language='JavaScript'>"
jscript += "function OpenPopUp() {"
jscript += "window.open('popup_to_be_oppened.aspx', '', 'resizable=no , menubar=no, scrollbars=yes, width=290, height=480');"
jscript += "} </script>"
Context.Response.Write(jscript)
另外,你必须使用
hello(document.getElementById('2').value
代替hello(2.value)