2010-01-24 4 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> 
<%} %> 

Contrôleur:Comment savoir quelle image a été cliquée?

[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"); 
    } 

Mais btnSubmit toujours null. Pourquoi????

+1

Cette question est plutôt vague. S'il vous plaît affiner. –

+0

Vous pouvez être ce que cliquez sur une image? –

+0

Est-ce que 'form [" btnsubmitLan "]' contient quelque chose? –

Répondre

0

J'utiliserais jQuery, puis je ferais un post AJAX sur un contrôleur en passant un ID quelconque.

<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. 
}); 
Questions connexes