2015-10-13 81 views
0

我在Razor View Page中創建了一個引導表單。我想使用Request DTO將表單數據發送到服務,但沒有發生。我能夠使按鈕單擊事件工作,並且斷點到達服務,但與空數據。無法將表單中的數據發佈到服務

這裏是我的形式標記:

<form class="form-horizontal" role="form" action="~/User" method="post"> 
    <div class="form-group"> 
    <label for="firstName" class="col-sm-3 control-label"> First Name </label> 
    <div class="col-sm-9"> <input type="text" class="form-control" id="FirstName" placeholder="FirstName" required> </div> 
    </div> 
    </div> 

這裏是我的服務:

public object Post(RegisterUser registerUserRequest) 
    { 
     var newUserRegister = new RegisterUser() 
     { 
      FirstName = registerUserRequest.FirstName, 
      LastName = registerUserRequest.LastName, 
     } 
    } 

,我認爲一兩件事是值得分享的是,我的模型類包含比我有更多的屬性顯示,但我不認爲他們在這種情況下。請幫我解決問題。謝謝

回答

2

您還沒有提供足夠的詳細信息託管RegisterUser。您還應該提供HTTP請求和響應頭,它提供有關問題的最佳信息來源。

你也不應使用~/前綴,這不ServiceStack做任何事情,你可以改用請求DTO Reverse Routing extension methods得到一個類型的API上要張貼的網址,如:

​​

ServiceStack也鼓勵您使用API​​首先發展的做法,鼓勵您使用Ajax Bootstrap Forms將發送使用Ajax和自動綁定到你的表單錯誤的佔位符,您可以調用任何錯誤或驗證錯誤響應您的形式:

$("form").bindForm({ 
    success: function(response) { } 
}); 

Email Contacts demo是一個很好的例子,其中包括解釋如何工作。 docs on ss-utils.js

+0

的其他信息非常感謝您的回答和建議。當我在Chrome開發人員工具中看到我的請求URL是'Request URL:http:// localhost:54990/RegisterUser'時。我看到的是它沒有發佈表單數據。在這種情況下,任何原因? – Lara

+0

@Lara HTML Form行爲只是基本的Web開發,你應該在你的Form INPUT域中添加'name ='。 – mythz

相關問題