asp.net treeview控件隐藏+-号但是伸展收缩功能正常是怎么实现的?

asp.net treeview控件隐藏+-号但是伸展收缩功能正常是怎么实现的?,第1张

先分析原因。
你出现这个错误是因为你没有了解ASPNET的工作原理。ASPNet 和php,jsp ,asp等服务器语言一样 都是为了生成可供浏览器解析的页面,而可供浏览器解析的语言只有HTML。
1,如果你在aspx页面中插入一个asp:LinkButton 那么运行页面后 在浏览器中查看源代码你会发现这个标签实际被转为了一个<a>标签。
2,为什么你的写法不会转换呢?因为首先 传递给Literal1Text 的值在aspnet中作为一段字符串被直接输出到浏览器中。那么你的写法到浏览器后源代码中仍然是一个asp:LinkButton 标签,而这个标签是无法被浏览器正确解析的。
解决办法:
知道了原因,那么如果非要按照你的写法去写,那么应该是这样的:
Literal1Text = "<li>" + ((users)Session["users"])NameToString() + "</li><li> </li><li><a ID='LinkButton1' onclick='LinkButton1_Click1'>注销</a></li><li> </li><li>信息修改</li><li> </li>";
但是当你修改完后发现点击注销按钮依然不能执行!为什么呢?
因为你的LinkButton1_Click1 事件并没有在aspnet中被解析为可供浏览器识别的js代码。
如何解决?
在aspx页面中写一个asp:LinkButton按钮:
<asp:LinkButton ID='LinkButton2' runat='server' onclick='LinkButton1_Click1'>注销</asp:LinkButton>
运行页面,查看源代码 看看这个新加的注销按钮被解析为了什么html代码,大概如下
<a id="LinkButton2" onclick="xxxxx"></a>
将新加的linkbutton 设置不可见属性
<asp:LinkButton ID='LinkButton2' runat='server' visible="false" onclick='LinkButton1_Click1'>注销</asp:LinkButton>
重新修改后台代码
Literal1Text = "<li>" + ((users)Session["users"])NameToString() + "</li><li> </li><li><a ID='LinkButton1' onclick='xxxxx'>注销</a></li><li> </li><li>信息修改</li><li> </li>";
//也就是将标签的js事件绑定到那个隐藏的注销按钮事件上。
希望对你有帮助

在ASPNET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等。下面分别介绍它们的用法和区别。
方法
信息量大小
作用域和保存时间
应用范围
保存位置

Application
任意大小
整个应用程序的生命期
整个应用程序/所有用户
服务器端
Cache
任意大小
可以根据需要设定
整个应用程序/所有用户
服务器端
Session
小量,简单的数据
用户活动时间+一段延迟时间(一般为20分钟)
单个用户
服务器端
Cookie
小量,简单的数据
可以根据需要设定
单个用户
客户端
Viewstate
小量,简单的数据
一个Web页面的生命期
单个用户
客户端
隐藏域
小量,简单的数据
一个Web页面的生命期
单个用户
客户端

查询字符串
小量,简单的数据
直到下次页面跳转请求
单个用户
客户端

1Application对象
Application用于保存所有用户的公共的数据信息,如果使用Application对象,一个需要考虑的问题是任何写 *** 作都要在Application_OnStart事件(globalasax)中完成尽管使用ApplicationLock和ApplicaitonUnlock方法来避免写 *** 作的同步,但是它串行化了对Application对象的请求,当网站访问量大的时候会产生严重的性能瓶颈因此最好不要用此对象保存大的数据集合 下面我们做个在线用户统计的例子来说明这个问题:
(以文件的形式存放网站总访问量)
//Globalasax类
using System;
using SystemCollections;
using SystemComponentModel;
using SystemWeb;
using SystemWebSessionState;
using SystemIO;
/// Global 的摘要说明。
public
class Global : SystemWeb><!-- html页放置的两个按钮,一个是html控件,一个是隐藏的服务器控件 -->
<input type="button" value="做得很漂亮的按钮" id="ip_btn" />
<asp:Button ID="Button1" runat="server" Text="隐藏的按钮" onclick="Button1_Click" style="display:none;" />
<!-- js代码 -->
<script language="javascript" type="text/javascript">
documentgetElementById("ip_btn")onclick=function(){documentgetElementById("<%=Button1ClientID %>")click();};
</script>
//c#代码
protected void Button1_Click(object sender, EventArgs e)
{
ResponseWrite("调用成功!");
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10795009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存