发布网友 发布时间:2022-04-19 21:05
共1个回答
热心网友 时间:2023-07-17 14:46
我回答问题首先希望帮助到学习C#的后辈。所以先分析原因。你出现这个错误是因为你没有了解ASP.NET的工作原理。ASP.Net和php,jsp,asp等服务器语言一样都是为了生成可供浏览器解析的页面,而可供浏览器解析的语言只有HTML。1,如果你在aspx页面中插入一个asp:LinkButton那么运行页面后在浏览器中查看源代码你会发现这个标签实际被转为了一个标签。2,为什么你的写法不会转换呢?因为首先传递给Literal1.Text的值在asp.net中作为一段字符串被直接输出到浏览器中。那么你的写法到浏览器后源代码中仍然是一个asp:LinkButton标签,而这个标签是无法被浏览器正确解析的。解决法:知道了原因,那么如果非要按照你的写法去写,那么应该是这样的:Literal1.Text=""+((users)Session["users"]).Name.ToString()+"注销信息修改";但是当你修改完后发现点击注销按钮依然不能执行!为什么呢?因为你的LinkButton1_Click1事件并没有在asp.net中被解析为可供浏览器识别的js代码。如何解决?首先吐槽下你的写法实在另类,但是依然可以实现。在aspx页面中写一个asp:LinkButton按钮:注销运行页面,查看源代码看看这个新加的注销按钮被解析为了什么html代码,大概如下将新加的linkbutton设置不可见属性注销重新修改后台代码Literal1.Text=""+((users)Session["users"]).Name.ToString()+"注销信息修改";//也就是将标签的js事件绑定到那个隐藏的注销按钮事件上。希望对你有帮助