将值从JavaScript传递到ASP.NET代码
我有一个ASP.NET映像控件声明为:将值从JavaScript传递到ASP.NET代码,javascript,asp.net,code-behind,Javascript,Asp.net,Code Behind,我有一个ASP.NET映像控件声明为: <asp:Image runat="server" ID="SortOrder" AlternateText="Ascending" ImageUrl="~/images/sort_ascending.gif" CssClass="Ascending" EnableViewState="true" /> function ReverseSort() { var img = window.event.srcElement;
<asp:Image runat="server" ID="SortOrder"
AlternateText="Ascending"
ImageUrl="~/images/sort_ascending.gif"
CssClass="Ascending"
EnableViewState="true"
/>
function ReverseSort() {
var img = window.event.srcElement;
if(img.className == "Ascending") {
img.className = "Descending";
img.alt = "Descending";
img.src = "<%= ResolveClientUrl("~/images/sort_descending.gif") %>";
} else {
img.className = "Ascending";
img.alt = "Ascending";
img.src = "<%= ResolveClientUrl("~/images/sort_ascending.gif") %>";
}
}
protected void Page_Load(object sender, EventArgs e) {
if (IsPostBack)
return;
SortOrder.Attributes.Add("onclick", "ReverseSort()");
}
if (SortOrder.AlternateText == "Ascending") {
/* Sort ascending */
} else {
/* Sort descending */
}
这是我的SortOrder.OnClick事件,用于我的图像控件:
<asp:Image runat="server" ID="SortOrder"
AlternateText="Ascending"
ImageUrl="~/images/sort_ascending.gif"
CssClass="Ascending"
EnableViewState="true"
/>
function ReverseSort() {
var img = window.event.srcElement;
if(img.className == "Ascending") {
img.className = "Descending";
img.alt = "Descending";
img.src = "<%= ResolveClientUrl("~/images/sort_descending.gif") %>";
} else {
img.className = "Ascending";
img.alt = "Ascending";
img.src = "<%= ResolveClientUrl("~/images/sort_ascending.gif") %>";
}
}
protected void Page_Load(object sender, EventArgs e) {
if (IsPostBack)
return;
SortOrder.Attributes.Add("onclick", "ReverseSort()");
}
if (SortOrder.AlternateText == "Ascending") {
/* Sort ascending */
} else {
/* Sort descending */
}
我的问题是,SortOrder.AlternateText总是“升序”。我的代码隐藏似乎无法识别javascript对属性所做的更改。我不希望这样。服务器端控件上的属性不映射到客户端上的DOM属性。虽然在服务器上设置
AlternateText
将输出所需的alt
文本,但它不是双向的
您可以使用隐藏的服务器端控件来保持排序的状态。通过javascript切换的隐藏的
将完成此操作。返回到服务器的唯一内容是名称-值对。使用javascript和元素更改的任何属性都会保留在浏览器上。看起来nickd比我快了几秒钟。nickd还包括解决方案。无论如何,谢谢你:)