2012-09-27 2 views
1

현재 상황에 대한 해결책에 접근하는 데 문제가 있습니다.WebMatrix 면도기로 클릭을 기반으로 C# 변수를 할당하려면 어떻게해야합니까?

C#이 내 데이터베이스를 쿼리하는 것이기 때문에 C# 변수에 동적 값을 할당해야합니다.

이 값은 선택한 (클릭시 등) SQL 쿼리 항목의 기본 키 ID와 일치해야합니다.

검색에 따라 얼마나 많은 항목 (또는 어떤 항목)이 있는지 절대 알 수 없습니다.

지금까지는 검색 조건을 양식에 넣었고 데이터베이스는 동적으로 쿼리되었으며 결과는 행 다음에 순서대로 표시됩니다.

이제 편집 할 항목을 알 수있는 단추 (또는 사용자 인터페이스를 선택하는 것)가 필요합니다. 그런 다음 데이터베이스의 해당 항목 값을 &보기 편집 페이지로 가져 가야합니다.

나는이 모든 것을 할 수있다. 사용자가 입력 할 수있는 시간까지 페이지 렌더링을 이미 끝낸 C#이있을 때 어떤 항목을 클릭할지 (또는 선택하지 않으면) 어떻게 말할 수 있습니까? 자바 스크립트는 데이터베이스를 쿼리 할 수 ​​없으므로 어떻게 가능합니까? 마음에, jQuery 알고 있지만 모든 AJAX 몰라.

저는 WebMatrix C# 면도기, html, css, JavaScript, SQL Server Compact 및 jQuery (표준 WebMatrix 설정, 확실합니다)를 사용하고 있습니다.

도움을 주시면 감사하겠습니다.

+1

가 (이 [기사]에서 설명한 것 같은 솔루션을 찾고 있습니다 http://www.mikesdotnetting.com/Article/168/The-WebGrid-Helper-Making-Selections)? – GmG

+0

사실, 네, 확실히 작동하고 고맙습니다. 그러나, 내가 당신의 의견을 얻었을 때 한 가지 생각이 무작위로 나에게 돌아 왔으며, 그것 역시 훌륭하게 작동했습니다. 나는 그것을 사용할 수있는 다른 사람들을 위해 내 솔루션을 공유하기를 원하므로 내 자신의 질문에 답할 것입니다. – VoidKing

답변

1

GMG가 언급했듯이, webGrid는이 문제를 해결하기 위해 설계되었습니다. 그러나 사용자가 그 대답을 사용하지 않고 직접 만들지 않으려는 경우, 여기 저를 위해 완벽하게 작동하는 것을 발견했습니다. 내 특정 사례) :

@foreach (db.Query ("queryString")) 루프의 var 행 내에서 요약 정보 중 I는 각 항목을 찾도록 양식을 추가하여 고유 한 양식을 갖습니다. 양식에서 "name"속성 (즉, name = "inputName")에 지정된 지정된 이름이있는 제출 버튼과 숨겨진 입력 텍스트 요소 만 배치했습니다. 이 숨겨진 요소의 값은 @ row.EntryID (즉, value = "@ row.EntryID")입니다.이 필드의 값은 데이터베이스에있는 항목의 고유 기본 키로 그려집니다. 해당 페이지의 다른 파일 (즉, action = "/ somefile.cshtml")에 설정된 양식 작업을 사용하여 숨겨진 입력 텍스트 필드에서 EntryID를 추출했습니다 (예 : var someVariable = Request.Form [ "inputName"];). 요청은 제출 된 양식에서 가져온 것이므로 숨겨진 입력 필드의 값이 동적으로 플롯되어 있기 때문에 버튼을 클릭 한 항목의 ID를 항상 얻을 수 있습니다.

이 기능이 WebGrid 도우미를 사용하지 않고도 비슷한 기능을 수행하고 싶다면 도움이되기를 바랍니다. 그러나 나 같은 사람은 조종사에 대한 잭을 알지 못해서 웹 인터페이스를 표시, 스타일 지정 및 제어하는 ​​데 필요한 작은 구성을 조정하는 방법이 없기 때문에이 방법을 더 잘 제어하는 ​​방법을 알고 있습니다. 우리가 원한다).

어쨌든, 이것은 누군가에게 도움이되기를 바랍니다.

0

그것은 아주 늦게하지만 다른 도움이 될 수 있습니다 :

foreach는 예를

   @foreach(var row in sCustomersHO){ 
       <tr> 
        <td><a href="~/Admin/[email protected]">@row.Account</a></td> 
        <td>@row.CustomerName</td> 
        <td>@row.RepName</td> 
        <td>@row.CustomerTypeDescription</td> 
        <td>@row.StopStatus</td> 
        <td><a href="~/Admin/[email protected]">Delete</a></td> 
       </tr> 
      } 

그리드 예 :

  @gAllReports.GetHtml(
      tableStyle: "grid", 
      headerStyle: "head", 
      alternatingRowStyle: "alt", 
      columns: gAllReports.Columns(
       gAllReports.Column("Name"), 
       gAllReports.Column("Description", format: @<textarea disabled>@item.Description</textarea>), 
       gAllReports.Column("Action", format: @<form method="post">@AntiForgery.GetHtml()<input type="hidden" id="UserId" name="UserId" value="@UserId" /><input type="hidden" id="ReportId" name="ReportId" value="@item.ReportId" /><button type="submit" name="action" value="add">Add</button></form>) 
      ) 
     ) 
관련 문제