[Asp.net]解决禁用JS后LinkButton无效问题

来源:互联网 发布:淘宝店家进货渠道 编辑:程序博客网 时间:2024/05/22 09:07
Asp.net下的LinkButton相当于在普通的HyperLink基础上增加了OnClick事件功能,但是在Chrome或Firefox下分析自动生成的代码后发现,OnClick事件功能的实现是通过Javascript实现的,如果浏览器禁用了JS那么LinkButton就失效了。创建一个简单的LinkButton生成的代码









LinkButton1




其中的href属性表面点击事件是通过向服务端postback来实现的。
href=“javascript:__doPostBack('ctl00$MainContent$LinkButton1','')"
通过分析以上代码可以得知,只需要向服务端传送两个控制参数即可通知服务端来处理点击事件,使用GET方式传值。因此可以使用以下代码

Fake LinkButton1

运行后发现点击我们创建的代码,服务端却报错了。原因是服务端启用了客户端事件验证,在ASP.net的aspx页面头部声明部分增加一段属性代码

EnableEventValidation=“false”

便可以关闭客户端事件验证。这样便可以不使用JS来实现对服务器事件的调用了。

完整代码
Default.aspx

< Page Title="“Home" Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" br/> CodeFile="Default.aspx.cs" Inherits="_Default" EnableEventValidation="false" %>




Real LinkButton1

Fake LinkButton1



Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void LinkButton1_Click1(object sender, EventArgs e)
{
//这里是测试代码
int a = 1;
int b = 1;
}
}





--------------------------------------------------------------------------------------

- 版权声明:

- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。

- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。

- 文章标题: [Asp.net]解决禁用JS后LinkButton无效问题

- 独立博客:李大仁博客

- 永久链接:http://www.lidaren.com/archives/1244

--------------------------------------------------------------------------------------

以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。







0 0
原创粉丝点击