0
我面臨的一個小問題,做一些事情誰似乎很容易...
在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));
}
我終於成功地做到了,謝謝你。我只是把後面的代碼放在我的div上的onclick函數中,在參數中使用id。 –