2011-09-22 10 views
5

Tôi có một bài đăng tương tự về điều này trên StackOverflow nhưng có lẽ sự hiểu lầm của tôi là đáng kể hơn. Tôi có chỉ mục hành động() và chỉ số xem hiển thị của nó. Từ chế độ xem Index() tùy thuộc vào nút được nhấp vào [HttpPost] Index() hoặc [HttpPost] Search() phải được gọi là nguyên nhân khiến tôi đăng một số dữ liệu. Cách duy nhất để đăng lên các hành động khác nhau là sử dụng jQuery? Nếu jQuery là cách duy nhất, nếu hành động của tôi trở về xem (hoàn thành các trang Html), tôi phải làm sạch toàn bộ phần tử tài liệu từ $ .post và điền nó với html lượt xem của tôi? Tôi khá mới mẻ với tất cả điều này, cảm ơn một tấn!Đăng cùng một biểu mẫu cho các hành động khác nhau tùy thuộc vào nút được nhấp vào

@using (Html.BeginForm()) 
{ 
    <input name="startDate" type="text" size="20" class="inputfield" id="datepicker" /> 
    <a href="#" id="apply_button">...</a> 
    <a href="#" id="go_button">...</a> 
} 


public ActionResult Index(string lang) 
{ 
    return View(); 
} 

//Perhaps this action is needed 
[HttpPost] 
public ActionResult Index(string lang, string startDate) 
{ 
    return View(); 
} 

[HttpPost] 
public ActionResult Search(string lang, string startDate) 
{ 
    return View(); 
] 
+0

thể bạn cung cấp một số mã số –

+0

@DavidLaberge: Chỉ cần thêm mã. Xin hãy xem. – mishap

+0

bản sao có thể có của [Làm thế nào tôi có thể gán các hành động khác nhau cho cùng một dạng html?] (Http://stackoverflow.com/questions/3999627/how-can-i-assign-different-actions-to-same-html-form) – Meryovi

Trả lời

14

Bạn có thể thay đổi thuộc tính hành động của biểu mẫu tùy thuộc vào nút nào được nhấp.

ví dụ: Để đăng lên 'tìm kiếm' hành động khi nút 'đi' được nhấp:

$('#go_button').click(function() { 
    $('form').attr("action", "Search"); //change the form action 
    $('form').submit(); // submit the form 
}); 
+0

Nhưng im đăng nội dung cùng một nội dung vào hành động khác nhau tùy thuộc vào nút được nhấp. Làm thế nào tôi có thể có hai hình thức khác nhau mà không cần sao chép html? Cảm ơn bạn! Btw Tôi đã thêm mã trong câu hỏi gốc. – mishap

+0

Tôi đã cập nhật câu trả lời dựa trên mã đã đăng của bạn. –

+0

Cảm ơn! Bạn đã thực hiện nó! Không ai khác có thể giúp tôi với điều này. – mishap

0

bổ sung để trả lời chấp nhận khi bạn đang cần để thay đổi hành động cũng như điều khiển quá:

$('#go_button').click(function() { 
    $('form').attr("action", "@("Search","OtherControllerName")"); //change the form action 
    $('form').submit(); // submit the form 
});