2017-06-23 16 views
-1

我有一個CarDetails查看我的網站上顯示具有特定ID的汽車的詳細信息。此視圖只能通過在查詢字符串中提供特定的ID來呈現。下面是具有id的汽車詳細圖像(_p = 4002)。 此頁面有一個表單,其中有action method =「Inquiry」和method =「POST」。表單由於查詢字符串附加到ASP.NET中的URL而被提交到另一個操作方法

Picture for CarDetalils View page

CarDetails的操作方法查看

public ActionResult CarDetails(int? _p)

調查行動方式表單

[HttpPost] 
public async Task<ActionResult> Enquiry([Bind(Include = "name,email,phone,comments")] Referrer referrer) 

的HTML幫助我的表格

@using (Html.BeginForm("Enquiry", "CarDealer", FormMethod.Post, new { @class = "gray-form", @id = "enquiryForm", @role = "form" })) 

現在的問題是,當我點擊提交查詢表格那麼這種形式的請求被提交給CarDetails,而不是提交給自己的操作方法,即「查詢」操作方法上的按鈕。

Picture of network call on Chrome Developer Tools when i submit form data

我希望你明白這個問題。它爲什麼顯示這種行爲?提前致謝。

我是ASP.NET新手,這是我在這個平臺上問過的第一個問題。這個平臺和它的活躍用戶是驚人的。最好的祝願。

+0

你的視圖中有嵌套窗體嗎?(這是無效的)? –

+0

不,先生,我不。 CarDetails.cshtml是一個具有表單的View頁面。 @StephenMuecke –

+0

什麼是爲你的'

'標記呈現的html(特別是'action'屬性 –

回答

0

這裏是正確的答案!

我寫了我的形式

$("#enquiryForm").submit(function (e) { 

    var formData = $('#enquiryForm').serializeArray(); 

    $.post(
     "/CarDealer/Enquiry", formData, function (data) { 
      debugger; 
      if (data["IsSucceeded"] == true) { 
       // code here 
      } 
      else{ 
       // code here 
      } 
      document.getElementById("enquiryForm").reset(); 
     }, 'json'); 
    return false; 
}); 

現在這種形式調用自身的操作方法,當我提交一個jQuery方法。

感謝您的投票。

相關問題