asp.net 下 iis7 泛解析的问题

asp.net 下 iis7 泛解析的问题,第1张

先分析原因。

你出现这个错误是因为你没有了解ASP.NET的工作原理。ASP.Net 和php,jsp ,asp等服务器语言一样 都是为了生成可供浏览器解析的页面,而可供浏览器解析的语言只有HTML。

1,如果你在aspx页面中插入一个asp:LinkButton 那么运行页面后 在浏览器中查看源代码你会发现这个标签实际被转为了一个<a>标签。

2,为什么你的写法不会转换呢?因为首先 传递给Literal1.Text 的值在asp.net中作为一段字符串被直接输出到浏览器中。那么你的写法到浏览器后源代码中仍然是一个asp:LinkButton 标签,而这个标签是无法被浏览器正确解析的。

解决办法:

知道了原因,那么如果非要按照你的写法去写,那么应该是这样的:

Literal1.Text = "<li>" + ((users)Session["users"]).Name.ToString() + "</li><li></li><li><a ID='LinkButton1' onclick='LinkButton1_Click1'>注销</a></li><li></li><li>信息修改</li><li></li>"

但是当你修改完后发现点击注销按钮依然不能执行!为什么呢?

因为你的LinkButton1_Click1 事件并没有在asp.net中被解析为可供浏览器识别的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>

重新修改后台代码

Literal1.Text = "<li>" + ((users)Session["users"]).Name.ToString() + "</li><li></li><li><a ID='LinkButton1' onclick='xxxxx'>注销</a></li><li></li><li>信息修改</li><li></li>"

//也就是将标签的js事件绑定到那个隐藏的注销按钮事件上。

希望对你有帮助

+ 第一步,你需要为你的域名添加泛解析。以新网的域名后台为例,你进入域名管理面版后,添加一条A记录。其中,“主机名”填写为 * ,“指向”填写为 你的服务器IP。+ 第二步,进入IIS管理器,在左边“网站”上右击->新建->网站(图参考附件1)+ 第三步,在弹出的窗口中点击“下一步”,输入网站名称,比如:space.snowcn.net(图参考附件2)+ 第四步,指定IP地址(如果服务器有多个固定IP,必须指定为你域名解析到的IP),主机头名留空(图参考附件3)+ 第五步,指定Xspace所在路径(图参考附件4),下一步、下一步、完成后,一个名为space.snowcn.net的网站就建立好了+ 第六步,右击space.snowcn.net ->属性 - 主目录 -- 配置 ,参考IIS中配置php的方法,添加一个扩展名为php的文档类型。最后在“文档中添加index.php”,重启IIS,完成


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/559774.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存