tags:

views:

41

answers:

1
<%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>
<%} %>

In controller :

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

But btnSubmit always null. Why????

A: 

I'd be using jQuery and then do an AJAX post to a controller passing in an id of some sort.

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