2013-03-31 2 views
0

У меня есть метод действий, как это:Как переключаться между режимами просмотра и редактирования

[ChildActionOnly] 
     public ActionResult NewUserLanguage() 
     { 
      ... 
      return View(model); 
     } 

Этот вид имеет простую форму на нем и список частичных просмотров:

<ul id="userLanguagesListBox"> 
         @foreach (var l in Model.UserLanguages) 
         {        
          <li> 
           @{Html.RenderPartial("UserLanguageBox", l);} 
          </li>        
         } 
... 

Этот частичный вид выглядит следующим образом:

... 
@using (Html.BeginForm("EditUserLanguage", "UserLanguage", FormMethod.Post, new { id = "editUserLanagegeForm" })) 
    { 
     <ul> 

      <li><h3>@Model.Language.Name</h3></li> 
      <li>@Model.LanguageLevel.Name</li>  
      <li> 
       @Html.HiddenFor(x=>x.UserLanguageId) 
       <button class="editButton">Edit</button> 
      </li>   
     </ul> 
    } 

То, что я пытаюсь сделать, когда пользователь нажимает на кнопку редактирования в любом из парциальных я хочу, чтобы включить его вес с другой точки зрения EditUserLanguage.
я пытался что-то вроде этого:

$(function() { 
      $('#editUserLanagegeForm').submit(function (e) { 
       alert('ss'); 
       $.ajax({ 
        url: this.action, 
        type: this.method, 
        data: $(this).serialize(), 
        success: function (result) { 
         $("#" + e.target).closest("div").append(result); 

        } 
       }); 

       return false; 
      }); 
     }); 

Но эта функция никогда не вызывается ни одной из кнопок редактирования.

ответ

2

«Передать событие посылается к элементу, когда пользователь пытается отправить форму. Он может быть прикреплен только к элементам. Формы могут быть представлены либо нажав явное <input type="submit">, <input type="image"> или <button type="submit">, или нажав Введите, когда определенные элементы формы имеют фокус. "

-От http://api.jquery.com/submit/

Что это значит для вас, что вам нужна кнопка, чтобы иметь типа представить для случая представить, чтобы вызвать, но я не думаю, что это один вы думаете. Вместо этого попробуйте использовать .click().

+0

Вопрос немного запутанный, но я думаю, что это отвечает на него. – iGanja

Смежные вопросы