2015-10-13 59 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

相关问题