c#
  • asp.net
  • 2013-07-26 4 views 0 likes 
    0

    Repeater (container.DataItem)에서 가져온 데이터를 매개 변수로 사용하려고합니다. 내 "HTML" 함수에 대한 리피터에서 데이터를 가져올 수 없습니다.

    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1"> 
    <ItemTemplate> 
    <a href='<%# Response.Write(getLink(Eval(Container.DataItem,"CustId")))%>'> 
    <li><%# DataBinder.Eval(Container.DataItem,"Name")%></li> 
    

    +0

    무엇이 문제입니까? 오류가 있습니까? 무엇을 성취하려고합니까? 데이터 항목을 추가 할 필요가 없다고 생각합니다. 간단하게'Eval ("CustId")'를 사용하십시오. –

    +0

    문제는 "CustId"의 값을 내 함수에 넣고 싶다는 것입니다. 오류 : CS1502를 제공합니다. – Alker

    답변

    2

    당신은 The best overloaded method match for '' has some invalid arguments 오류가 발생, 당신은 그것에게 object를 제공 - Eval() 함수는 object 반환합니다. 당신도

    protected String getLink(object CustId) 
    

    를 사용하고 나중에 문자열로 변환, 또는 더 좋은 방법이 있습니다 : 당신이 변경되지 않은 함수를 유지할 수 있습니다

    Response.Write(getLink(Eval(Container.DataItem,"CustId").ToString())) 
    

    그런 식으로.

    +0

    두 가지 모두 테스트되었으며 작동하지 않습니다. 동일한 CS1502 오류입니다. – Alker

    +0

    전체 오류 메시지를 여기에 붙여 넣을 수 있습니까? –

    +0

    그것은 효과가있다. "Eval"을'DataBinder.Eval'로 변경했습니다. – Alker

    0

    당신은

    <asp:LinkButton ID ="asd" runat ="server" Text ='<%# DataBinder.Eval(Container.DataItem,"Name")%>' CommandArgument ='<%# Eval(Container.DataItem,"CustId")%>'></asp:LinkButton> 
    

    와 함께 중계기 내부의 LinkButton 사용해야

    protected String getLink(string CustId) 
    { 
    string link = ""; 
    if (Request.QueryString["mode"] != null) 
    { 
        link = "~/CustDetails.aspx?id="+CustId; 
    } 
    else 
    { 
    
    } 
    return link; 
    } 
    

    을 그리고 여기 : 이 내가 시도 것입니다 세트 이런 이벤트를 호출하는 중계기의 OnItemCommand 속성. 함수가 매개 변수로 string이 걸리기 때문에

    Response.Redirect("~/CustDetails.aspx?id="+Convert.toInt32(e.commandArgument)); 
    
    +0

    일부 사람들은 순수 HTML을 사용하기 위해 preffer하고 ASP 컨트롤은 사용하지 않습니다. 이유 중 하나는 ASP에서 서버에서 ASP 컨트롤을 실행한다는 것입니다. 클라이언트 측에서 사용하는 것이 중요 할 수도 있습니다.) –

    +0

    죄송합니다. – Alker

    +0

    그는 이미 asp 컨트롤 "repeater"를 사용하고 .cs 서버 쪽에서 함수를 호출하고 있습니다. 그것이 적절하다고 생각했습니다. –

    관련 문제