但是,这是我的代码,它不起作用。 控制器名称为:“UserInfo.user_name”
public JsonResult UniqueUserName([Bind(Prefix="UserInfo")] string user_name)
{//user_name == null ?!?}
感谢的
更新
添加我的观点:
@Html.EditorFor(x => x.UserInfo)
这是EditorTemplate:
<div>
@Html.LabelFor(m => m.user_name)
@Html.TextBoxFor(m => m.user_name, new { required = true})
@Html.ValidationMessage("user_name", new { @class = "error"})
</div>
这是模型:我已经从这里删除了更多属性和更多类,因为它没有任何区别。
public class Info
{
[DisplayName("User Name")]
[Required]
[Remote("UniqueUserName", "Create")]
public string user_name { set; get; }
}
public class EvalInfo
{
public Info UserInfo { set; get; }
public EvalInfo()
{
UserInfo = new Info();
}
}
答案 0 :(得分:1)
只有在您的视图中,如果您的模型使用UserInfo_user_name
呈现,那么您可以使用Bind
。我建议你阅读BindAttribute。让我们假设您认为两个属性存在一些歧义。然后你可以使用你的绑定。而且我认为你可以将它与模型一起使用。如果您的控制器名称为UserInfo.user_name
则无关紧要。什么是重要的是模型。我想如果我们看到您的观点,我们可以获得一些重要信息。希望在阅读完链接后会对你有所帮助。
试试这个:
`
public JsonResult UniqueUserName([Bind(Prefix="UserInfo")] Info info)
{
//and retreive your user_name via the model info
}
` 我希望它会对你有所帮助。