为什么当我在按钮上设置enabled = false时,它在Firefox中无法正确呈现?它没有变灰,而是变蓝了.
[UPDATE]
ASP.net已经在链接上删除了这样的标签,因此唯一需要的是将链接变灰.换句话说,CSS样式更改不是功能更改.
以下有效解决了在Firefox和谷歌浏览器中未显示为灰显的禁用按钮.我把它放到我的样式表中,现在我的所有链接按钮都能正确呈现.
a [禁用] {
颜色:灰色!重要; text-decoration:none!important; }
所以我得到了例外
无效的回发或回调参数.使用配置或页面中的<%@ Page EnableEventValidation ="true"%>启用事件验证.出于安全考虑,此功能可验证回发或回调事件的参数是否来自最初呈现它们的服务器控件.如果数据有效且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证.
使用以下堆栈跟踪
[System.ArgumentException:Untrapped Exception:无效的回发或回调参数.使用配置或页面中的<%@ Page EnableEventValidation ="true"%>启用事件验证.出于安全考虑,此功能可验证回发或回调事件的参数是否来自最初呈现它们的服务器控件.如果数据有效且符合预期,请使用ClientScriptManager.RegisterForEventValidation方法,以便在System.Web.UI上的System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId,String参数)中注册回发或回调数据以进行验证. System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)中System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)的.Control.ValidateEvent(String uniqueID,String eventArgument) )在System.Web.UI.Page.ProcessRequestMain(布局
includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)的System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)的System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument)中
在提交表单之后发生异常,然后在页面重新加载之前快速单击LinkButton以在同一页面上下载文件.
有人可以解释为什么在执行上述操作时发生此异常的细节?
提前致谢!
我正在尝试创建一个具有gridview的网页.这个gridview应该有如下链接
http://localhost/Test.aspx?code=123
Run Code Online (Sandbox Code Playgroud)
当用户点击gridview中其中一行的链接时,它将打开一个空白页面并显示一些结果.
这是我如何将数据绑定到gridview但我不知道如何设置链接
protected void Page_Load(object sender, EventArgs e)
{
string firma_no = logoFrmNr.ToString().PadLeft(3, '0');
string active_period = logoFrmPeriod.PadLeft(2, '0');
SqlConnection conn = new SqlConnection(conStr);
string selectSql = @"SELECT
LOGICALREF,
CODE ,
DEFINITION_ ,
FROM
LG_CLFLINE";
SqlCommand cmd = new SqlCommand(selectSql, conn);
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
conn.Close();
}
Run Code Online (Sandbox Code Playgroud)
这是标记
<asp:GridView ID="GridView1" runat="server" EnableModelValidation="True">
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
如何从CODE列中建立链接?
我想使用一个asp:LinkButton,因为它看起来像一个链接,但也有服务器端点击处理程序.
但是,Web服务器似乎无法检测客户端上是否禁用了javascript,并且无法呈现为仍然有效的机制.
是否有可能有一个看起来像链接,但有服务器端OnClick事件处理程序的链接?
答案是否定的,但下面是一些解决方法的想法.接受了非零向上投票的那个.
我的登录用户控件有两个文本框和一个链接按钮.
<asp:TextBox id="tbUserName" runat="server" size="10" />
<asp:TextBox id="tbPassword" runat="server" TextMode="Password" size="10" />
<asp:LinkButton Text="login" CssClass="submit" runat="server" ID="lbLogin" OnClick="btnLogin_OnClick" />
Run Code Online (Sandbox Code Playgroud)
当有人在tbUsername或tbPassword上输入时,我想调用"btnLogin_OnClick函数".
我该怎么做呢?
我正在做一个带有搜索的网页,它会从MSSQL中获取大量信息.我所做的是一个存储过程,只返回要在网站上看到的页面.
现在我正在进行分页,因为我需要显示类似于谷歌的东西.如果您在第1页,他们会显示前10页,如果您在第19页,则显示自第9页到第28页.
我认为显示页码的最佳选择是在转发器中使用链接按钮.我现在遇到的问题是我不知道在回发时获取页码的最佳方法.
做一个快速示例我将一个ArrayList分配给repeater.datasource:
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="<%# Container.DataItem %>"><%# Container.DataItem %></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<asp:LinkButton ID="LinkButton2" runat="server" CommandArgument="4654">Test #1</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
在我的Default.aspx.cs文件中,我有下一个代码
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
string x = LinkButton2.CommandArgument;
//string y = LinkButton1.CommandArgument;
//I know this line will not work since the Linkbutton1 is inside the Repeater.
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能使它有效?
有没有人有这个分页更好的解决方案?
谢谢
杰瑞
如何启动Outlook电子邮件窗口(类似于mailto:在超链接中执行的操作)?
这需要在LinkButton单击事件中完成.
我有一个asp.net Web应用程序.在我的.aspx页面中,我有一个更新面板,其中我有3个asp:LinkButton应该调用ac#code后面.问题是onclick不起作用.
以下是代码的外观:
<div id="div1">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<ul>
<li><asp:LinkButton ID="lnk_1" runat="server" OnClick="lnk1_Click">Link1</asp:LinkButton></li>
<li><asp:LinkButton ID="lnk_2" runat="server" OnClick="lnk2_Click">Link2</asp:LinkButton></li>
<li><asp:LinkButton ID="lnk_3" runat="server" OnClick="lnk3_Click">Link3</asp:LinkButton></li>
</ul>
<div> some more code here </div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="lnk_1" />
<asp:PostBackTrigger ControlID="lnk_2" />
<asp:PostBackTrigger ControlID="lnk_3" />
</Triggers>
</asp:UpdatePanel>
</div>
Run Code Online (Sandbox Code Playgroud)
代码有什么问题?我也试过使用AsyncPostBackTrigger但仍然无法正常工作.
根本没有调用后面的代码.
我也曾尝试在Google上搜索但无法找到解决方案.
如何使用javascript在.NET中获取LinkButton的文本?
试过.innerHTMl,.innerText,.value ......一切都行不通......
我试图从我的gridview控件中的LinkButton传递CustomerID值到codebehind.我尝试了这里建议的解决方案,但它不起作用.
我的gridview代码是:
<asp:TemplateField HeaderText="Last Name, First Name">
<ItemTemplate>
<asp:LinkButton OnClick="EditCustomer" id="lbtnCustomerName" CommandName="CustomerName" Visible="true" runat="server" ToolTip="Click to edit customer."><%# DataBinder.Eval(Container.DataItem, "custLastName") + ", " + DataBinder.Eval(Container.DataItem, "custFirstName" + ", " + DataBinder.Eval(Container.DataItem, "custID")%></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
protected void EditCustomer(Object sender, EventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
如何在EditCustomer事件中获取custID值?
asp.net ×10
linkbutton ×10
c# ×5
gridview ×2
javascript ×2
.net ×1
.net-3.5 ×1
firefox ×1
form-submit ×1
html ×1
paging ×1
postback ×1
render ×1
repeater ×1
updatepanel ×1