首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net后台获取js的返回值,该如何解决

2012-05-28 
asp.net后台获取js的返回值实例C# code%@ Page LanguageC# AutoEventWireuptrue CodeFileDefault

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值怎么总是空
}

你是想後臺 調用 前臺 腳本 吧。 這樣調用貌似錯的哦。


[解决办法]

探讨
C# code

Page.RegisterStartupScript("", "<script>winid();<"+"/script>");



这是c#后台代码访问前台JavaScript函数,你试试可以不?

[解决办法]
在页面使用隐藏域, <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;
[解决办法]
探讨
这样能获取到值吗

引用:
引用:

C# code

Page.RegisterStartupScript("", "<script>winid();<"+"/script>");





这是c#后台代码访问前台JavaScript函数,你试试可以不?


後臺 調用 前臺 腳本

[解决办法]
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="winid()" />

[解决办法]
探讨

这不是我的 最终代码 我也 不会傻到非要用js绑定 value值 我这个value值是从 一个js函数里面取出来的

热点排行