ASPNET C#onclientclick

时间:2013-08-30 11:55:01

标签: c# window.open onclientclick

在我的一个页面中,我在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

之后,正确的文字怎么样?

提前致谢

3 个答案:

答案 0 :(得分:0)

我会创建一个像

一样访问的属性

背后的代码

string _selectedValue;


public string SelectedValue {

    get { return _selectedValue; }
}

将'_selectedValue'设为grdFlights.SelectedDataKey.Value

然后在.aspx页面中你可以

var value = <%# SelectedValue%>;

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

这样的效果。

答案 1 :(得分:0)

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

尝试以下

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

答案 2 :(得分:0)

你可以激发这部分代码,这几乎是相同的要求。

<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>
小心行“返回假”;在最后javascript函数它是非常重要的