button_click事件中调用前台的js方法,并传递参数如何调用???
Page.RegisterClientScriptBlock("", "<script language='javascript'>showDiv(" & Str & ")</script>");
经证实,这种方法无法让showDiv()执行我还想到了这个方法
在page_load中btn.Attributes.Add("OnClick", "javascript:showDiv()")但是我想要传递参数啊,而且参数是在btn的click事件中产生的..所以如果在page_load中注册,好像无法传递想要的参数
矛盾中....该如何成功的在click事件中调用前台的js函数,并传递参数呢 ?
Page.RegisterClientScriptBlock("", "<script language='javascript'>showDiv(" & Str & ")</script>");
经证实,这种方法无法让showDiv()执行我还想到了这个方法
在page_load中btn.Attributes.Add("OnClick", "javascript:showDiv()")但是我想要传递参数啊,而且参数是在btn的click事件中产生的..所以如果在page_load中注册,好像无法传递想要的参数
矛盾中....该如何成功的在click事件中调用前台的js函数,并传递参数呢 ?
ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "time1('aaaaaaaaaa')", true);
string s = "aaa"; //你的参数
Label l = new Label();
l.Text = "<script>showDiv(" + s + ");</script>";
Page.Controls.Add(l);
先执行 JS函数 把需要的参数传到隐藏控件上面
然后 执行OnClick 事件
还有就是可以考虑使用response.write("<script>.....</script>");
这样也不行?
btn.Attributes.Add("OnClick", "javascript:showDiv(" & Str & ")")
你这个的原理跟我写的那个是一样的,注册脚本,只不过我那个是针对framework 1.1,到2.0里面升级为你现在这种写法了而已...这样是注册上脚本了,但没执行
例如:
var aa=<%=aa%>;
....
不知道是否满足要求
貌似达不到呢,就想要在执行了click事件的时候,去执行前台的js
我在showDiv()里面alert了,根本就没有弹出来,所以我认为是没执行 function showDiv(nr)
{
alert("开始调用") document.getElementById('divSm').style.visibility='visible'; alert("已经被调用")改成
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>showDiv(" & gpnrStr & ");</script>")
依然没执行
<script type="text/javascript">
function showMessage()
{
alert("哈哈哈哈哈哈");
} </script> <title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="showMessage();" />
</div>
</form>
</body>
</html>这样可以执行前端的 JS后 再执行 后台的OnClick
<head runat="server">
<script type="text/javascript">
function showMessage()
{
var hid = document.getElementById("HiddenField1"); alert(hid.value);
}
</script>
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>后台 protected void Button1_Click(object sender, EventArgs e)
{
HiddenField1.Value = "后台代码";
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>showMessage();</script>");
}
刚才测试过可以用
其实思路就是 拿个 隐藏控件来传值
protected void Button1_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "showdiv('aaaaaaaaaa')", true);
}
js//
<script language="javascript">
function showdiv(str) {
alert(str);
}
</script>不是这样用么?
应该要用+来拼接的
呵呵,你觉得是&连接符的问题????
不是&的问题吗?因为没用过&不懂!
那是什么问题呢?