【问题标题】:Passing additional arguments into the OnClick event handler of a LinkButton using Javascript使用 Javascript 将附加参数传递到 LinkBut​​ton 的 OnClick 事件处理程序
【发布时间】:2011-01-26 20:18:21
【问题描述】:

我有一个 ASP.NET 网站,在一个由 LinqDataSource 自动填充的 GridView 项目模板中,有一个 LinkBut​​ton,定义如下:

<asp:LinkButton ID="RemoveLinkButton" runat="server" CommandName="Remove"
                CommandArgument='<%# DataBinder.GetPropertyValue(GetDataItem(), "Id")%>'                                 
                OnCommand="removeVeto_OnClick"
                OnClientClick='return confirm("Are you sure?");'
                Text="Remove Entry" />

这很好用。每当单击按钮时,都会显示一个确认对话框。

我现在要做的是允许用户输入删除原因,并将其传递给 OnClick 事件处理程序。我该怎么做? 我试过OnClientClick='return prompt("Enter your reason!");',但是,当然,这没有用=)

【问题讨论】:

    标签: asp.net javascript


    【解决方案1】:

    您还可以考虑从客户端代码调用 __doPostBack,而不是使用 OnClick 回发。然后您可以捕获原因并将其传递到服务器端。

    【讨论】:

    • 是否有一种简单的方法可以提取在使用 javascript 自动生成的 __doPostBack 调用中使用的相当奇怪的 ID 'ctl00$ContentPlaceHolder1$GridView1$ctl02$RemoveLinkBut​​ton'?我想我需要那个......
    • 肯定有。使用 '#' 其中 ControlName 是您需要其 ID 的控件的名称。您还可以将 ID 作为 GridView 中 OnClientClick 调用中的参数传递给您的 javascript 函数。这实际上可能是更简单的方法,因为您使用的是 GridView。
    【解决方案2】:

    就我个人而言,我会将原因隐藏在一个隐藏字段中。

    它会按照以下方式工作:您的 OnClientClick 方法将获取 JS 方法的返回值,该方法执行提示,然后将提示的结果放入隐藏字段中。

    【讨论】:

      猜你喜欢
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2017-07-01
      • 2010-09-12
      • 1970-01-01
      相关资源
      最近更新 更多