Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 14
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Render action trong Asp.Net MVC?

    Mình có 1 site gồm 2 form, 1 form dùng để tìm kiếm và 1 form dùng để khai báo thông tin cá nhân. site này có 2 action, 1 là tìm kiếm (dùng để kiếm giáo trình), 2 là thêm dữ liệu (bao gồm thông tin sinh viên + ds giáo trình đã mua). Mình làm hoài mà cuối cùng nó cũng chỉ nhận 1 action là timkiem, còn action thêm thì nó ko nhận . Bạn biết vấn đề này ko, hướng dẫn giúp mình với.
    Còn cái action Timkiem kia thì mình submit thì nó lại chuyển sang 1 trang khác.
    Mong các bạn giúp mình.

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Project của bạn hình như không đúng. Mình kiếm cái view "Create" thì không có.
    Cái view "CreateNew" cũng không. Chỉ có mỗi cái Index của GiaoTrinhController.

  3. #3
    Thank bạn đã quan tâm, nhưng project của mình ở đây chỉ là ví dụ thôi bạn à. chức năng của nó như mình đã nêu ấy, tìm kiếm xong rồi thì insert. Chứ mấy chức năng insert hay edit thì trong project này mình không đưa lên kẻo nó rắc rối cho mọi người ^^.
    Mình chỉ mong bạn hướng dẫn cho mình làm thế nào để có thể thực hiện được chức năng tìm kiếm xong rồi thì insert dữ liệu thôi trong 1 trang thôi (như hình minh họa mình đã up lên ấy), bạn có thể xem ở link ~/Home/About. Mong bạn giúp mình.
    Nếu được bạn có thể liên lạc với mình qua nick yahoo: ngtrongtri. Hoặc bạn có thể cho mình nick yahoo của bạn cũng được ^^.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    KHông hiểu bạn nói gì
    Nhưng nếu tìm kiếm xong rồi thêm vào trang này luông thì mình nghĩ trả về json sau đó append nó vào là được

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Uh mình nói hơi khó hiểu, mình xin nói rõ lại yêu cầu bài toán của mình
    Như bạn thấy trong hình minh họa có 3 phần. Phần 1 là để điền thông tin cá nhân. Phần 2 là để thực hiện chức năng tìm kiếm, kết quả tìm kiếm sẽ hiển thị ở phần 3. Sau đó sinh viên sẽ chọn các giáo trình có trong phần 3 và thực hiện chức năng Mua.
    Vấn đề của mình là:
    1. Mình đã tạo 2 form tương ứng với 2 action là "Timkiem" và "Mua". Nó đã hoạt động riêng lẽ được rồi, nhưng khi mình thực hiện chức năng "Tìm kiếm" thì lại bị đưa tới 1 trang khác, mình muốn kết quả tìm kiếm được hiển thị trực tiếp trên trang đăng ký mua đó luôn.
    2. Bạn coi trong cơ sở dữ liệu gồm 3 bảng, 1 bảng sinh viên, 1 bảng giáo trình và 1 bảng mua. Như các bạn thấy trong hình. Khi sinh viên đã điền xong thông tin, chọn xong giáo trình cần mua thì thực hiện chức năng mua. Tuy nhiên bây giờ chức năng chọn giáo trình, sau đó insert vào bảng "Mua" với mã giáo trình đã được chọn từ phần 3 và mã sinh viên từ phần 1, mình vẫn chưa làm được chức năng này.
    Mong mọi người giúp mình, xin cảm ơn rất nhiều.

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nếu như 1 form có nhiều button, 1 button mình cho nó 1 tham số. Nếu như là tham số này thì thực hiện phương thức này, nếu như tham số kia thì thực hiện phương thức kia.

    Từ đó ta suy ra:
    Truyền tham số cho button search ví dụ là "buoc1".
    Truyền tham số cho button create ví dụ là "buoc2".

    Nếu tham số là "buoc1" thì thực hiện sự kiện 1.
    Nếu tham số là "buoc2" thì thực hiện sự kiện 1 rồi thực hiện sự kiện 2.


    Mã:
    if (Request.Form ["submitType"]=="5"){...}if (Request.Form ["submitType"]=="6"){...}  <button type="submit" name="submitType" value="5">add to cart</button><button type="submit" name="submitType" value="6">add to cart</button>
    Còn code tạm của bạn thì mình nghĩ là mỗi form là 1 WUC, đúng không?
    Nếu thế thì bạn tham khảo cái này: calling-another-controllers-action

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cảm ơn bạn rất nhiều, tuy nhiên về vấn đề mỗi form nhận thực hiện 1 chức năng khác nhau thì mình thực hiện được rồi bạn ^^. Ý mình muốn hỏi là 2 ý ở trên đó, nghĩa là tìm sao khi tìm kiếm thì kết quả tìm kiếm sẽ hiển thị ngay ở trang đăng ký mua đó, chứ ko phải chuyển trang khác như vấn đề mình gặp phải. (mình thấy bạn jscaothe nói là dùng json nhưng mình chưa làm được).
    Đây là bản mới, nếu được mong bạn có thể sửa giúp mình trực tiếp ở đây: http://www.mediafire.com/?asd7n4vdwvgpie1.

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Xin lổi máy không có VS nên không demo được đại loại thế này.
    - Trước tiên bạn tạo một partial view là cái (3) để chứa kết quả, cho nó ẩn đi
    - Trong sự kiện click của [ Tìm kiếm ] bạn gọi hàm javascrip gọi đến controller tìm kiếm trả về một json
    dùng ajax đại loại thế này
    $.ajax({
    url:"/YourController/SearchAction",
    data{ dk1:"dk1", dk2:"dk2"}),
    success: function(data){
    // tại đây gọi get dữ liệu để nhận kết quả đưa vào partial view và show nó lên
    $("div.partial").show();
    }
    })

    + có thể sẽ không chạy nhưng ý tưởng là thế
    Cách 2: Dùng actionlink cho cái button tìm kiếm đó
    gọi về controller sau đó hiện partial view lên

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cảm ơn bạn jscaothe rất nhiều, nhưng mình mới học mvc nên nhiều cái chưa biết lắm. Những gì bạn nói mình đã thử làm nhưng ko chạy, bây giờ mình chưa biết sửa lỗi như thế nào cả. Nếu được mong bạn có thể sửa trực tiếp trên project giúp mình. Thực sự cảm ơn bạn rất nhiều. [IMG]images/smilies/online.gif[/IMG]

    mình xin up code lên để bạn dễ theo dõi:

    Mã:
    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    	Thực hiện mua sách
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        Đăng ký mua sách
        trong vòng 14 ngày sinh viên phải đến trung tâm để nhận sách và nạp tiền
        <%Html.EnableClientValidation(); %>
    
           <% using (Html.BeginForm("Timkiem", "Timkiem"))
           {%>
             <%Html.RenderAction("Timkiem", "Timkiem");%>
           <%} %>
    
           <% using (Html.BeginForm("Muasach","DangkyMua"))
           {%>
            <%: Html.ValidationSummary() %>
                <td><%Html.RenderPartial("RegSinhvien"); %></td>
                    <p>
                    <input type="submit" value="Hoàn thành" />
                </p>
            <% } %>
    
     
        <div>
            <%: Html.ActionLink("Quay lại trang chủ", "Index","Home") %>
        </div>
    
        </asp:Content>

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bài của bạn mình ngại đọc quá
    Mình làm cho bạn cái demo nho nhỏ để bạn biết
    Có đính kèm cái Project rồi đó. Dùng Ajax có sẳn đở phải viết
    Trong View Search

    Mã:
    @{    ViewBag.Title = "Search";} @using (Ajax.BeginForm("SearchPartial", "Search", new AjaxOptions{    InsertionMode=InsertionMode.Replace,    HttpMethod="GET",    UpdateTargetId="result"})){    <input type="text" name="s" />    <input type="submit" name="Search" />} <div id="result">    </div>
    Bên Controller

    Mã:
        public class SearchController : Controller    {        ModelDatabase  _db = new ModelDatabase();         //        // GET: /Search/         public ActionResult Search()        {            return View();        }         public ActionResult SearchPartial(string s)        {            var model=_db.Search.Where(n=>n.Title.Equals(s));            return PartialView("_resultSearch", model);        }     }
    Cái Partial View

    Mã:
    @model IEnumerable<MvcApplication2.Models.SearchModel><table>    <tr>        <th>            Title        </th>        <th></th>    </tr> @foreach (var item in Model) {    <tr>        <td>            @Html.DisplayFor(modelItem => item.Title)        </td>    </tr>}</table>
    Nhớ thêm thẻ này lào _layout [MVC 3] Masterpage[ Other ]

    Mã:
        <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •