반응형
기존 Repeater에서 파라미터 값으로 넘기던 것을 보안 처리를 해주려고 삽질을 해 보았다.
이전에는
<a href="detail.aspx?ID='<%# Eval("ID") %>'>
이런식으로 사용했는데
주소창에 파라미터 값이 그대로 노출되므로 이 부분을 해결하지 않으면 안되었다.
몇번의 삽질 끝에 LinkButton-CommandArgument와 Session을 사용하여 수정하였다.
솔루션
다음과 같이 링크버튼을 만들었다.
표시할 텍스트는 Text에 넘길 값은 CommandArgument로 설정하면 된다.
<asp:LinkButton id="DetailBtn" runat="server" Text='<%# Eval("Text") %>' CommandArgument='<%#Eval("ID") %>' OnClick="btnDetail_Click" />
다음은 C# 부분이다.
using System.Web.UI.WebControls;
protected void btnDetail_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
Session["ID"] = lb.CommandArgument.ToString();
Response.Redirect("Detail.aspx");
}
OnClick 이벤트를 받은 다음 LinkButton을 찾아 CommandArgument의 값을 가져온다.
다음에는 그 값으로 세팅하고 페이지를 넘긴다.
다음 페이지에서는 Session["ID"]를 찾아서 사용만 하면 된다.
반응형
'개발삽질방 > Web' 카테고리의 다른 글
[PHP] Excel로 출력 (0) | 2018.11.26 |
---|---|
[PHP] Azure DB 연동 (0) | 2018.11.24 |
[Azure] SQL 스크립트 생성 (0) | 2018.11.24 |
[ASP.NET] iOS Push 발송시 CryptographicException 문제 (0) | 2018.11.23 |