2010-01-24 3 views
2
<%using (Html.BeginForm("ChangeLanguage", "AppController", FormMethod.Post)) 
{ %> 
    <div id="China"> 
     <input id="imageChina" name="btnsubmitLan" type="image" value="CN" alt='China' src="/Content/Image/IconHH/FlatCN.gif" /> 
    </div> 
    <div id="US"> 
     <input id="ImageUS" name="btnsubmitLan" type="image" value="US" alt='English' src="/Content/Image/IconHH/FlatUS.jpg" /> 
    </div> 
    <div id="VietNam"> 
     <input id="ImageVN" name="btnsubmitLan" type="image" value="VN" alt='VietNam' src="/Content/Image/IconHH/FlatVN.jpg" /> 
    </div> 
<%} %> 

В контроллере:Как определить, какое изображение было нажато?

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult ChangeLanguage(string btnsubmitLan, FormCollection form) 
    {//chu yeu load o phan template 

     if (btnsubmitLan != null) 
     { 
      switch (btnsubmitLan) 
      { 
       case "VN": Session["language"] = "VN"; break; 
       case "CN": 
       case "US": Session["language"] = "EN"; break; 

      } 
     } 
     return RedirectToAction("Index"); 
    } 

Но btnSubmit всегда null. Зачем????

+1

Этот вопрос довольно расплывчатый. Пожалуйста, уточните. –

+0

Можете ли я быть кликом по изображению? –

+0

Does 'form [" btnsubmitLan "]' содержит что-нибудь? –

ответ

0

Я бы использовал jQuery, а затем сделал сообщение AJAX контроллеру, передав какой-то идентификатор.

<input id="ImageVN" name="btnsubmitLan" type="image" value="VN" alt='VietNam' src="/Content/Image/IconHH/FlatVN.jpg" /> 


$('input').click(function() { 
    var id = this.attr("id"); 
    //now do your ajax postback passing in the id. 
}); 
Смежные вопросы