2015-09-10 28 views
0

海蘭,請在格onclick事件重定向爲轉發

我面臨的一個小問題,做一些事情誰似乎很容易...

在ASP.NET頁面我有一箇中繼器誰目前結果從一項研究。 直到現在一個aspButton來做重定向的工作。 但我想這個重定向追加時,用戶在我的結果行中的任何地方取代我的按鈕。

我試過的東西在JavaScript和jQuery,但我不能得到這個工作...

這裏是我的repeter的代碼:

<asp:Repeater ID="rptProfil" runat="server" onitemdatabound="rptProfil_ItemDataBound"> 
    <ItemTemplate> 
     <div id="divLine" class="divProfil <%# Container.ItemIndex % 2 == 0 ? "lineLignt" : "lineDark" %>"> 
      <asp:HiddenField ID="hdnPerson" runat="server"/> 
      <table class="table100"> 
       <tr> 
        <td class="rptLeft"> 
         <div id="divName" runat="server"> 
          <asp:Label ID="profilName" runat="server" Text='No data' CssClass="lbProfilNom" /> 
          <asp:Label ID="profilFname" runat="server" Text='No data' CssClass="lbProfilNom" /> 
         </div> 
        </td> 
        <td class="rptCenter"> 
         <asp:Label ID="store" runat="server" Text='No data' CssClass="lbSecondary" /> 
        </td> 
        <td class="rptRight textCenter"> 
         <asp:Button ID="btnShowDetails" runat="server" OnClick="BtnShowDetailsClick" /> 
        </td> 
       </tr> 
      </table> 
     </div> 
    </ItemTemplate> 
</asp:Repeater> 

在後面部分的代碼,有什麼特別的:

protected void rptProfil_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    Person = (SearchItem)e.Item.DataItem; 

    var id = (HiddenField)e.Item.FindControl("hdnPerson"); 
    var name = (Label)e.Item.FindControl("profilName"); 
    var fname = (Label)e.Item.FindControl("profilFname"); 
    var line = (Label)e.Item.FindControl("line"); 
    var city = (Label)e.Item.FindControl("city"); 
    var zip = (Label)e.Item.FindControl("zip"); 
    var store = (Label)e.Item.FindControl("store"); 

    id.Value = Person.PersonId.ToString(); 
    name.Text = Person.LastName; 
    fname.Text = Person.FirstName; 
    line.Text = Person.AddressLigne; 
    city.Text = Person.City; 
    zip.Text = Person.ZipCode; 
    store.Text = Person.Level3Name; 
} 

protected void BtnShowDetailsClick(object sender, EventArgs e) 
{ 
    var btnShowDetails = (Button)sender; 
    var item = (RepeaterItem)btnShowDetails.NamingContainer; 
    var hdnPerson = (HiddenField)item.FindControl("hdnPerson"); 
    Response.Redirect(string.Format("ProfilDetails.aspx?id={0}", hdnPerson.Value)); 
} 

回答

0

,而不是下面的代碼

<asp:Button ID="btnShowDetails" runat="server" OnClick="BtnShowDetailsClick" /> 

嘗試做

<input type="button" onclick="redirect($(hdnPerson))"> 

,並在腳本

<script> 
var redirect=function(obj){ 
    window.location="ProfilDetails.aspx?id="+$(obj).val(); 
} 
</script> 

希望這有助於。

+0

我終於成功地做到了,謝謝你。我只是把後面的代碼放在我的div上的onclick函數中,在參數中使用id。 –