2012-08-23 2 views
0

안녕하세요, 이미지 버튼을 사용하여 모델에 값을 전달하려고했지만 아무 것도 보내지 않는 것만으로도 도움을 줄 수 있습니다.asp.net 이미지 버튼은 null 값을 보냅니다.

필자는 보통의 입력 버튼

<input type="submit" name="Vote" value="6" /> 

아니라 이미지 작업을 얻었다.

<input type="image" src="..urlpath" name="Vote" value="6"/> 
<button type="submit" name="Vote" value="6"> 6 <img src="...urlpath" /></button> 

당신은 큰 감사

컨트롤러

 public ActionResult PlanVote() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult PlanVote(int vote) 
    { 
     PlanModel myModel = PlanModel.Instance; 
     myModel.Vote(vote); 

     if (PlanModel.Instance.currentstate == PlanState.displaying) 
     { 
      return RedirectToAction("Index", "Plan"); 
     } 
     else 
     { 
      return RedirectToAction("Waiting", "Plan"); 
     } 
    } 

모델이 될 것이라고 나를 도울 수 있다면

public void Vote(int Votes) 
    { 


     ivote.Add(Votes); 

     if (countVotes >= iCount) 
     { 
      currentstate = PlanState.displaying; 
     } 


    } 
+1

'HttpPost' 컨트롤러 표시 actionreult – Curt

답변

0

되는 HTML specification 읽기 :

이미지

그래픽 제출 버튼을 만듭니다. src 속성의 값은 버튼을 꾸밀 이미지의 URI를 지정합니다. 접근성을 위해 저자는 alt 속성을 통해 이미지에 대체 문자 을 제공해야합니다. 포인팅 장치가 이고 이미지를 클릭하면 양식이 제출되고 좌표가 서버로 전달됩니다. x 값은 이미지의 왼쪽에서 픽셀 으로 측정되고 이미지의 상단에서 픽셀의 y 값은 입니다. 제출 된 데이터에는 name.x = x-value 및 name.y = y-value가 포함됩니다. 여기서 "name"은 name 속성의 값이고 x 값 및 y 값은 각각 x 및 y 좌표 값입니다. .

클릭 한 위치에 따라 서버가 다른 동작을 수행하는 경우 그래픽이 아닌 브라우저를 사용하는 사용자에게는 불이익이 있습니다. 의 경우 저자는 대체 방법을 고려해야합니다.

단일 그래픽 제출 버튼 대신 여러 개의 제출 버튼 (각각 자체 이미지가 있음)을 사용하십시오. 제작자는 스타일 시트를 사용하여 버튼의 위치를 ​​제어 할 수 있습니다. 스크립팅과 함께 클라이언트 측 이미지 맵 을 사용하십시오.

+0

흥미 롭습니다! chrome (3 개의 param, name.x, name.y 및 name)이있는 * value *를 가지고 있지만 * firefox *는 두 개의 params (x 및 y)를 반환합니다. – adatapost

관련 문제