从C#调用javascript后如何获取javasript修改后的值 [英] How to get javasript modified value after javascript called from C#

查看:105
本文介绍了从C#调用javascript后如何获取javasript修改后的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好

我在表单中使用post方法获取下一页的数据

在下一页的页面加载事件中我调用的是一个javascript来自像这样的代码

Hi there
I am using a post method in form to get data on next page
On next page''s page load event I am calling a javascript from code behind like this

protected void Page_Load(object sender, EventArgs e)
       {
       
           string amt = Page.Request.Form["nm"];
           HiddenField1.Value = amt;
       string org= base64Decode(amt);
           Page.ClientScript.RegisterStartupScript(this.GetType(),"alert","myfunction();",true);
       string strs=HiddenField1.Value;
       }







和我的javascript功能如下






and my javascript function is as follow

function myfunction() {

          var password = 'L0ck it up saf3';
          var ciphertext = document.getElementById('<%=HiddenField1.ClientID%>').value;
        
          var origtext = Aes.Ctr.decrypt(ciphertext, password, 256);
       document.getElementById('<%=HiddenField2.ClientID%>').value= origtext; 
         
          return true;
  }





现在的问题是,当调用javascript时我想采取隐藏字段值

在页面加载事件中的字符串(参见line string strs = HiddenField1.Value;)但我得到旧值(HiddenField1.Value = amt;)

但我想取隐藏字段值javascript调用后。

请帮助我



Now the problem is that when javascript is called i want to take the hidden field value
in string on page load event (see line string strs=HiddenField1.Value;)but i am getting old value ( HiddenField1.Value = amt;)
but I want to take hidden field value after javascript called.
pls help me

推荐答案

使用以下代码行



use the following line of code

string strs=Request["HiddenField1"].ToString();





您将获得页面上的值仅回发。



You will get the value on page postback only.


执行所有服务器端代码后调用Javascript。因此无法访问由javascript更新的控件值。异步回发(Ajax)在这里会有所帮助。
Javascript is called after executing all of your server side code. so it is not possible to access your controls values which are updated by javascript. Asynchronous post back (Ajax) would be helpful here.


你好,你必须在page_load方法中使用IsPostBack检查。





hello, you have to use IsPostBack checking in your page_load method.


protected void Page_Load(object sender, EventArgs e)
       {
            if(!IsPostBack)
{
           string amt = Page.Request.Form["nm"];
           HiddenField1.Value = amt;
       string org= base64Decode(amt);
           Page.ClientScript.RegisterStartupScript(this.GetType(),"alert","myfunction();",true);
       string strs=HiddenField1.Value;
}
       }





喜欢这个。因为,当你带回帖子去服务器端然后你的客户端代码重置,那你丢失了你的数据。



谢谢

Rashed ::孟加拉国。



like this. because, when you go to the server side with post back then your client side code reset and for that you are loosing your data.

thanks
Rashed:: Bangladesh.


这篇关于从C#调用javascript后如何获取javasript修改后的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆