我有一个用户控件。我为该用户控件设置了一个属性,如:
public string SelectedValue
{
get { return _selectedValue; }
set { _selectedValue = value; }
}
我需要使用Javascript为“SelectedValue”赋予属性值。我怎么能这样做?
答案 0 :(得分:0)
假设您正在使用C#,并假设您可以访问具有属性SelectedValue
的某个对象,则可以这样做:
var value = "<%# YourObject.SelectedValue%>";
或者,如果您正在使用Razor和MVC:
var value = "@YourObject.SelectedValue";
如果你想将它发送到服务器端代码,你需要像Zaheer Ahmed所说,ajax或将值保存在cookie中。
但是有很多假设,也许你可以发布更多代码并提供更多细节。
答案 1 :(得分:0)
您无法从客户端(js)设置C#属性。你可以使用ajax做一些工作,但你根本无法操作服务器端代码。
如果你想知道更长的解释,请看看asp.net是如何工作的,它是生命周期等。简单的方式就是这样:
用户使用他的浏览器向服务器发送请求。服务器接收它,创建一个请求的页面并实例化所需的类等。然后它被解析并作为html(当然还有其他资源,如图像,css ......)发送到客户端。事后,客户端无法访问和修改实例化的页面类,因为它已经被服务器刷新。每个请求都会创建一个新实例。无论如何都无法用js修改c#,反之亦然。你能想象它会是什么样的,如果你可以使用一些js来修改远程服务器上的C#吗?用户可以通过改变属性来破坏你的一面。