2013-07-30 4 views
0

해결했습니다. 방금 ​​버튼에 대한 리피터를 사용했습니다.버튼 하나만 제외하고 모두

foreach 주기로 여러 테이블을 만들고 각 테이블에는 별도의 페이지로 연결되는 버튼이 있습니다. 다음은 버튼에 대한 html 코드입니다.

<form name='input' action='AuctionDetails.aspx' method='get'> 
<input type='submit' value='Bid now' name='{5}'/> 
</form> 

지금, 나는 제외한 모든 버튼가 일하는 (약 50) 반복 많이 을 보유하고 있습니다. 결과를 필터링 (더 적은 테이블 반환) 할 때도 모든 버튼이 작동합니다 (첫 번째 버튼 제외).

다음은 전체 방법입니다.

private void FillPageAuctions() 
{ 
    IEnumerable<AuctionClass> query = null; 
    var context = new AuctionsEntities(); 

    string queryString = Request.QueryString.ToString(); 

    if (Request.QueryString.ToString() != "") 
    { 
     query = from e in context.Auctions 
       where e.Category.Name == queryString 
       select e; 
    } 

    else 
    { 
     query = from e in context.Auctions select e; 
    } 

    StringBuilder sb = new StringBuilder(); 

    if (query.Count() == 0) 
    { 
     sb.Append("There are no auctions in this category."); 
    } 

    else 
    { 
     foreach (AuctionClass auction in query) 
     { 
      string temp = auction.AuctionName; 
      if (auction.AuctionName.Length > 12) 
      { 
       temp = auction.AuctionName.Remove(12); 
       temp = temp + "..."; 
      } 

      sb.Append(String.Format(@"<table style='border: 1px solid #666666; 
       float:left; 
       width: 24%; 
       margin: 0px 3px 3px 3px; 
       text-align: center;'> 
       <tr><th style='font-size: 18px'>{0}</th></tr> 
       <tr><td><img src='{1}' height='100px' width='100%'/></td></tr> 
       <tr><td>Price: ${2}</td></tr> 
       <tr><td>Time Left: </td></tr> 
       <tr><td>{3} hours</td></tr> 
       <tr><td>{4} minutes</td></tr> 
       <tr><td> 
       <form name='input' action='AuctionDetails.aspx' method='get'> 
        <input type='submit' value='Bid now' name='{5}'/> 
       </form> 
       </td></tr></table>", temp, "Untitled.png", 
       auction.CurrPrice, 0, 0, auction.AuctionID)); 
     } 
    } 
    AuctionListLabel.Text = sb.ToString(); 
} 
+1

작동하지 않는 것으로 정의하십시오. 오류가 발생합니까? –

+0

귀하의 질문에 귀하가 말하는 코드 만 게시하십시오. 이것은 코드 리뷰 페이지가 아닙니다. – Reniuz

+0

@Bojan *** ASP.Net은 단일 페이지에 여러 개의 양식 태그를 허용하지 않습니다. *** – Win

답변

0

당신이 제출 버튼의 이름을 변경하면 어떻게 지금까지 많은 값, 당신은 : 이름 = '/ 0-50 /'당신은 값이 카운터를 사용하여 전송되는 반환 할 수있는 간단한 루프를 만들 수 있습니다 변하기 쉬운.

0

ASP.NET 페이지에서 두 개 이상의 양식 태그를 넣을 수 없습니다.

단일 양식 모델은 ASP.NET 상태 유지 관리 기능 구현의 핵심 요소입니다. 페이지가 항상 자신에게 게시되기 때문에 런타임은 마지막 액세스 중에 저장된 상태를 쉽게 검색하고 복원 할 수 있습니다. 페이지의 상태를 저장하고 복원하는 다른 방법이 있지만 단일 양식 모델을 사용하면 모든 솔루션 중에서 훨씬 간단하고 효과적인 방법입니다.

관련 문제