asp.net后台获取js的返回值
实例
- C# code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>无标题页</title> <script type="text/javascript"> function winid() { document.getElementById("hf").value="5"; alert( document.getElementById("hf").value); } </script></head><body> <form id="form1" runat="server"> <div> </div> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> <asp:HiddenField ID="hf" runat="server" /> </form></body></html>using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { Literal l = new Literal(); l.Text = "<script>winid()</script>"; this.Page.Controls.Add(l); string ss= hf.Value.ToString();//这个value值怎么总是空 }}[解决办法]
后台还能用JS的返回值?今天又学了一点。
[解决办法]
"<script>window.winid()</script>";
<%=str%>
[解决办法]
建立你查看一下运行页面的源代码,看看你在后天添加的Literal控件是添加到何处,然后再看看。
[解决办法]
你的literal是添加到html页面的末尾,你执行第一次点击按钮时,你的<script>wind();<script>还没有执行,也就是还未给hf赋值,那当然是空的了。
但是当你再一次(第二次、第三次....)点击按钮时,就有值了的 value=5
那是因为你第一次已经将<script>wind();<script>加载进去了的,只要页面一刷新就会执行赋值和弹出alert()窗体的操作。
[解决办法]
楼主不要执迷不悟了,在一个生命周期内是不可能做的到返回客户端并且同时获取的。
[解决办法]
上个帖子的分毫不吝啬地分给了自己的马甲,这是一种什么精神。
[解决办法]
.............................
[解决办法]
ajax
给你一个链接
http://a4810917.blog.163.com/blog/static/447120732007111210101466/
[解决办法]
- C# code
Page.RegisterStartupScript("", "<script>winid();<"+"/script>");
[解决办法]
厄?lz用literal类了?
我感觉写的没错呀也?怎么会空值哩?单步吧...
[解决办法]
protected void Button1_Click(object sender, EventArgs e)
{
Literal l = new Literal();
l.Text = "<script>winid()</script>";
this.Page.Controls.Add(l);
string ss= hf.Value.ToString();//这个value值怎么总是空
}
你是想後 用 前 本 吧。 用貌似的哦。
[解决办法]
[解决办法]
在页面使用隐藏域, <input id="myHid" type="hidden" name="myHid" /> 用你的JS 方法给他赋值,在后台使用 Request["myHid"] 获取值
[解决办法]
- C# code
string str;str="<script language='JavaScript'>";str+="wind()";str+="</script>";//l.Visable=true;l.text=str;
[解决办法]
[解决办法]
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="winid()" />
[解决办法]