2012-01-12 21 views
13

Tôi có một đoạn mã sauThêm một lớp học để một cuộc gọi Ajax.BeginForm trong Razor Xem Mẫu

@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "update_panel", Url = "/Part/SearchPart" })) 
     { 
      <input type="text" placeholder="Search Parts"/> 
      <input type="submit" value="Search"/> 
     } 

nó ra HTML sau

<form action="/Part" data-ajax="true" data-ajax-mode="replace" data-ajax-update="#update_panel" data-ajax-url="/Part/SearchPart" id="form0" method="post">       
    <input type="text" placeholder="Search Parts"/> 
     <input type="submit" value="Search"/> 
</form> 

và tôi muốn có HTML outputted để có thẻ, form> để có class = "pull-right". Làm thế nào tôi có thể thực hiện điều này?

Trả lời

25

Bạn có thể sử dụng one of the overloads cho phép bạn chỉ định các thuộc tính html ::

@using (Ajax.BeginForm(null, null, new AjaxOptions { UpdateTargetId = "update_panel", Url = "/Part/SearchPart" }, new { @class = "pull-right" })) 
{ 
    <input type="text" placeholder="Search Parts"/> 
    <input type="submit" value="Search"/> 
} 

Ngoài ra tôi hơn rất muốn giới thiệu bạn dựa vào url của hình thức của bạn thay vì hardcoding nó trong AjaxOptions bởi vì khi bạn triển khai ứng dụng của bạn trong một cơ hội thư mục ảo có thể là địa chỉ được mã hóa cứng của bạn /Part/SearchPart sẽ không hoạt động. Chưa kể nếu bạn thay đổi mẫu tuyến đường của bạn trong Global.asax. Vì vậy:

@using (Ajax.BeginForm("SearchPart", "Part", null, new AjaxOptions { UpdateTargetId = "update_panel" }, new { @class = "pull-right" })) 
{ 
    <input type="text" placeholder="Search Parts"/> 
    <input type="submit" value="Search"/> 
} 
+0

Tác phẩm đẹp mắt. Cảm ơn bạn đã giúp đỡ của bạn, và quan điểm của bạn về không hardcoding url cũng được thực hiện là tốt. – PlTaylor

+0

cách thêm và id và cũng có thể .. –

1

Bạn phải đưa bạn hành động và kiểm soát để tham khảo từ biểu mẫu của bạn.

ở đây ví dụ:

@using (Ajax.BeginForm("LogOn","Account", new AjaxOptions { UpdateTargetId = "update_panel", Url = "/Part/SearchPart" }, new { @class ="pull-right"})) 
{ 
    <input type="text" placeholder="Search Parts"/> 
    <input type="submit" value="Search"/> 
} 
Các vấn đề liên quan