在回发时获取对ASP.Net控件的Javascript更改 [英] Get Javascript changes to ASP.Net control on postback

查看:53
本文介绍了在回发时获取对ASP.Net控件的Javascript更改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一个页面,用户可以在其中更新简档聊天板的个人资料。有一个 asp:Image 控件,它载有用户当前的头像。在同一页面上是可用的头像图像列表;每个都是标准的HTML img 标记,其中包含以下属性:

I am writing a page where users can update their profile for a simple chat board. There is an asp:Image control which is loaded with the user's current avatar. On the same page is a list of available avatar images; each is a standard HTML img tag with the following attribute:

onclick='setAvatar(this);'



函数本身如下所示:


The function itself looks like this:

function setAvatar(e) {
    var file = e.getAttribute('src');
    var img = document.getElementById('ctl00_ContentHolder_UserAvatar');
    img.src = file;
    return true;
}

在此脚本中, file 是股票的 src 属性单击图像, img 是显示当前或新选择的头像图像的 asp:Image 控件。这一切都运行正常和花花公子:点击库存图像会更改控件上显示的图像。



当用户单击保存按钮并发生回发时,会出现问题。因为更改是在浏览器中进行的,所以它不会反映在ViewState中,因此会丢失。



我想要的是让用户选择一个图像然后仅使用单击保存时发生的单个回发更新其配置文件。有什么方法可以到达那里吗?

In this script, file is the src attribute for the stock image being clicked, and img is the asp:Image control that displays the current or newly selected avatar image. This all works fine and dandy: clicking on a stock image changes the image displayed on the control.

My problem occurs when the user clicks the Save button and a postback occurs. Because the change is made in the browser, it is not reflected in the ViewState and so gets lost.

What I want is to let the user select an image and then update his profile with only the single postback that happens when clicking Save. Is there any way I can get there?

推荐答案

我想我提出的问题会得到答复。



所以,遇到这个问题,我坚信没有这样的直接方法来反映客户端到服务器端的 src 属性更改当你做 PostBack



而是使用一个 HiddenField ,您可以在其中存储相同的 src Url

那么值在 PostBack 之后,可以在服务器端轻松访问 HiddenField
I guess the questions I have asked will get me a reply as yes.

So, coming to the problem, I strongly believe that there is no such direct method to reflect the src attribute changes done at client side to server side when you do PostBack.

Instead use one HiddenField, in which you can store that same src Url.
Then the value of that HiddenField can be accessed easily at the server side after PostBack.


这篇关于在回发时获取对ASP.Net控件的Javascript更改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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