2013-08-30 86 views
2

在我的一個頁面中,我在CodeBehind中重定向到另一個頁面。ASPNET C#onclientclick

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後提前

謝謝

+0

在回發把你的grdFlights.SelectedDataKey.Value在一個隱藏的字段值,然後在JavaScript讓它很容易! –

回答

0

我會創建一個屬性來訪問像

代碼隱藏

string _selectedValue; 


public string SelectedValue { 

    get { return _selectedValue; } 
} 

設置 '_selectedValue' 作爲您的grdFlights.SelectedDataKey.Value

然後在.aspx頁面,你可以做

var value = <%# SelectedValue%>; 

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

大意的東西。

+0

嗨,你可以讓我知道如何將這是正確的格式:onclientclick =「window.open('../ Prints/EASYBRIEF.aspx?+ txtSelectedValue.Text') – RMU

0

每個服務器端按鈕也有一個客戶端ID。 你只需要訪問該元素與客戶端ID和利用其價值

請嘗試以下

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

注意行「return false;」在結束javascript函數這是非常重要的