【问题标题】:ASPNET C# onclientclickASP NET C# onclientclick
【发布时间】:2013-08-30 11:55:01
【问题描述】:

在我的一个页面中,我在 CodeBehind 中得到关注以重定向到另一个页面。

protected void btnEASYBRIEF_Click(object sender, EventArgs e)
        {
            Response.RedirectToRoutePermanent("../Prints/EASYBRIEF.aspx?" + grdFlights.SelectedDataKey.Value);
        }

我想将其更改为“onclientclick”事件,例如

onclientclick="window.open('../Prints/EASYBRIEF.aspx?
                     +grdFlights.SelectedDataKey.Value')"

../Prints/EASYBRIEF.aspx 之后的正确文本如何

提前致谢

【问题讨论】:

  • 在回发中将您的 grdFlights.SelectedDataKey.Value 放在隐藏字段值中,然后在 javascript 中轻松搞定!

标签: c# window.open onclientclick


【解决方案1】:

我会创建一个可以访问的属性

代码背后

string _selectedValue;


public string SelectedValue {

    get { return _selectedValue; }
}

将“_selectedValue”设置为您的 grdFlights.SelectedDataKey.Value

然后在.aspx页面就可以做

var value = <%# SelectedValue%>;

onclientclick="window.open('../Prints/EASYBRIEF.aspx?' + value)"

类似的东西。

【讨论】:

  • 嗨...你能告诉我正确的格式是什么:onclientclick="window.open('../Prints/EASYBRIEF.aspx?+txtSelectedValue.Text')
【解决方案2】:

每个服务器端按钮也有一个客户端 ID。 您只需使用客户端 ID 访问该元素并获取其值

试试下面的

<script type="text/javascript">
function HandleClick()
{
   window.open('../Prints/EASYBRIEF.aspx?'+
                     +document.getElementById("<%=grdFlights.ClientId%>").Value;
}
</script>

【讨论】:

    【解决方案3】:

    你能启发这部分代码吗,几乎是一样的要求。

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script type = "text/javascript">
            function GetSelectedRow(lnk) {
                var row = lnk.parentNode.parentNode;
                var rowIndex = row.rowIndex - 1;
                var customerId = row.cells[0].innerHTML;
                var city = row.cells[1].getElementsByTagName("input")[0].value;
                alert("RowIndex: " + rowIndex + " CustomerId: " + customerId + " City:" + city);
                return false;
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns = "false" AllowPaging = "true" OnPageIndexChanging = "PageIndexChanging">
            <Columns>
            <asp:BoundField DataField = "CustomerID" HeaderText = "CustomerID" />
            <asp:TemplateField HeaderText = "City">
                <ItemTemplate>
                    <asp:TextBox ID="txtCity" runat="server" Text = '<%# Eval("City") %>'></asp:TextBox>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:LinkButton ID="lnkSelect" runat="server" Text="Select" CommandName = "Select" OnClientClick = "return GetSelectedRow(this)" />
                </ItemTemplate>
            </asp:TemplateField>
            </Columns>
        </asp:GridView>
        </form>
    </body>
    </html>
    

    小心“return false;”这一行最后的javascript函数很重要

    【讨论】:

      猜你喜欢
      • 2013-11-30
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 2022-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多