2013-08-23 3 views
3

MVC 4 응용 프로그램이 있습니다. 여기에 그 케이스가 있습니다 :
1. 모델 HashKey - 문자열 키가 1 개 포함
2. ModelObjectA - 전송할 객체입니다.
3. 클래스 A - 요청시 고유 키를 생성하고이를 주어진 ModelObjectA와 함께 TempData에 넣고이 고유 키를 반환합니다.
4. Controller ControllerModelObjectA - 순수 컨트롤러 역할을합니다.
5. ShowAllModelObjectA보기 - 컨트롤러에서 모음을 표시하는보기 페이지.MVC 4 button onClick 면도기 기능 호출

어떻게 작동합니까? ShowAllModelObjectA로 이동하라는 요청이 있습니다. 컨트롤러는 클래스 A를 객체와 함께 호출하여 전송하고 고유 키를 ShowAllModelObjectA에 보냅니다. 뷰는 수신 된 키에 대응하는 객체를 컨트롤러에서 가져 오는 (HttpGET 아님) 메소드를 호출합니다. 이 개체 컬렉션이 수신되고 @foreach 루프에서 개체를 디스 어셈블하여 테이블에 넣습니다. 테이블의 오브젝트와 함께 해당 오브젝트에 다른 기능 (세부 사항보기, 편집, 삭제)을 나타내는 3 개의 버튼이 있습니다.

문제 : 내가를 ClassA를 호출하고 객체 자체를 보낼 @ 함수를 사용할 필요가 각 object`s 버튼에 있지만 루프하지에 클릭합니다. 자바는 클라이언트 측에서하고 있기 때문에 여기에

는, 내가 @ModelObjectA에 액세스 할 수 있지만 내가 면도기 기능에 보내 어차피 지금부터 몇 가지 코드 (내가 :) 이름을 변경해야)

@functions{ 
    public string ButtonClicked(ModelObjectA object) 
    { 
     System.Diagnostics.Debug.WriteLine("in");// to check when the method is called 
     return "dae"; 
    } 
} 

The foreach loop: 

<table> 
      @foreach (ModelObjectA Object in ModelObjectACollection) 
      { 
      <tr> 
       <td> 
        @Html.DisplayFor(modelItem => Object.Name) 
       </td> 
       <td> 
        @Html.DisplayFor(modelItem => Object.Email) 
       </td> 
       <td> 
        <button type="button" id="details" value="@Object" onclick="hello(value);">Details</button> 
        <button type="button" value="@Object">Edit</button> 
        <button type="button" value="@Object">Delete</button> 
       </td> 
      </tr> 
      } 
    </table> 

<script type="text/javascript"> 
    function hello(Value) { 
     alert("Clicked"); 
    } 
</script> 

입니다 서버 면도기.

다른 방법이 있나요?

편집 :

<td> 

        <button type="button" id="details" value="(Project path).ModelObjectA" onclick="hello(value);">Details</button> 
        <button type="button" value="(Project path).ModelObjectA">Edit</button> 
        <button type="button" value="(Project path).ModelObjectA">Delete</button> 
       </td> 

편집 2 : 다음은 rentered 버튼입니다 나는 그 요구 사항을 충족하는 데 사용할 필요 모르겠습니다. 나는 제안을 위해 열려 있습니다.

+0

를하지만보기는 서버 측에서 준비 얻고 당신이보기에 javascpit를 포함 할 수 있습니다. hello() 함수에 전달되는 값은 무엇입니까? –

+0

+0

질문에 대한 다른 제목을 입력 해주세요. "MVC 4 개의 질문"은 너무 모호하고 답을 통해 도움을 얻을 수있는 다른 사람들을 돕지 않습니다. –

답변

6

코드를 붙여 넣으면 코드에 클래스 이름을 넣는 것입니다. 이 같은 시도 :

@foreach (ModelObjectA mObjA in ModelDealerCollection) 
{ 
    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => ModelObjectA.Name) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => ModelObjectA.Email) 
     </td> 
     <td> 
      <button type="button" id="details" value="@mObjA" onclick="hello(value);">Details</button> 
      <button type="button" value="@mObjA">Edit</button> 
      <button type="button" value="@mObjA">Delete</button> 
     </td> 
    </tr> 
} 
+0

예 나는 그것을 보았다. 나는 그것이 @Object라는 시험지에서 철자가 틀렸다. 방금 고쳤어. –

+0

HTML 코드가 렌더링 될 때 HTML 코드의 예를 붙여 넣을 수 있습니까? 버튼 만 있으면 충분합니다. – Martin

+0

집에서 회사 SQL Server에 액세스 할 필요가 없습니다. 시뮬레이트해야합니다. 그러나 나는 시도 할 수있다. –