누군가가 도울 수 있기를 바랍니다.동적 그리드 뷰 열에 하이퍼 링크를 추가하는 방법
나는 동적 인 Gridview
을 가지고 있습니다. gridview 열에 hyperlink
이 있어야합니다. 이러한 하이퍼 링크는 클릭시 특정 데이터를 표시하는 팝업을 열어야합니다.
나는 동적 템플릿 필드를 사용하여 이것을 시도했다. 그러나 데이터 바인딩시에도 열의 하이퍼 링크를 얻을 수 없습니다. 하이퍼 링크가 아닌 데이터를 가져올 수 있습니다.
이것은 HyperLinkTemplate
클래스이며 ITemplate
을 구현합니다.
public class HyperLinkTemplate : ITemplate
{
private string m_ColumnName;
public string ColumnName
{
get { return m_ColumnName; }
set { m_ColumnName = value; }
}
public HyperLinkTemplate()
{
//
// TODO: Add constructor logic here
//
}
public HyperLinkTemplate(string ColumnName)
{
this.ColumnName = ColumnName;
}
public void InstantiateIn(System.Web.UI.Control ThisColumn)
{
HyperLink HyperLinkItem = new HyperLink();
HyperLinkItem.ID = "hl" + ColumnName;
HyperLinkItem.DataBinding += HyperLinkItem_DataBinding;
ThisColumn.Controls.Add(HyperLinkItem);
}
private void HyperLinkItem_DataBinding(object sender, EventArgs e)
{
HyperLink HyperLinkItem = (HyperLink)sender;
GridViewRow CurrentRow = (GridViewRow)HyperLinkItem.NamingContainer;
object CurrentDataItem = DataBinder.Eval(CurrentRow.DataItem, ColumnName);
HyperLinkItem.Text = CurrentDataItem.ToString();
}
}
위와 같이 하이퍼 링크를 만들 수있었습니다. 하지만 이제 하이퍼 링크를 클릭하면 팝업이 나타납니다. 하나의 매개 변수가 팝업 화면에 전달되어야합니다. 어떤 생각 ?? – Avi
늦게 응답하여 죄송합니다. 이를 수행하는 데는 몇 가지 방법이 있습니다. 가장 쉬운 방법은 자바 스크립트를 사용하여 다른 창을 만드는 것이라고 말하고 싶습니다. 다음과 같은 자바 스크립트 함수를 만들고 쿼리 문자열에 매개 변수를 사용하여 url을 전달할 수 있습니다. function createWindow (URL) { \t var newWindow = window.open (url, "newWindow", "toolbar = yes, 스크롤바 = 예, 너비 = 650, 높이 = 500 "); } 또 다른 옵션은 멋진 팝업 기능을 포함하는 Microsoft의 Ajax Control Toolkit을 사용하는 것입니다. 내 경험에 비추어 볼 때, 당신이 단순하게 유지한다면 그렇게하기가 어렵지 않습니다. –
하이퍼 링크 클릭시 열리는 .csv 파일이 있습니다 ...이 문제와 관련하여 저를 도울 수 있습니까? 고맙습니다. – shruti