加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC模型绑定器的问题

发布时间:2020-12-16 09:30:58 所属栏目:asp.Net 来源:网络整理
导读:使用此控制器方法: – [AcceptVerbs(HttpVerbs.Post)] public ViewResult Contact(Contact contactMessage) { return View(); } 为什么这样做…… public class Contact{ public string Name { get; set; } public string Email { get; set; } public strin
使用此控制器方法: –

[AcceptVerbs(HttpVerbs.Post)]
    public ViewResult Contact(Contact contactMessage)
    {
        return View();
    }

为什么这样做……

public class Contact
{
    public string Name { get; set; }
    public string Email { get; set; }
    public string Message { get; set; }
}

<% using(Html.BeginForm()) { %>
<p>Name : <%= Html.TextBox("Name")%></p>
<p>Email : <%= Html.TextBox("Email")%></p>
<p>Message : <%= Html.TextBox("Message")%></p>
<p><input type="submit" value="Send Data" /></p>

但这不是吗?

public class Contact
{
    public string ContactName { get; set; }
    public string ContactEmail { get; set; }
    public string ContactMessage { get; set; }
}

<p>Name : <%= Html.TextBox("ContactName")%></p>
<p>Email : <%= Html.TextBox("ContactEmail")%></p>
<p>Message : <%= Html.TextBox("ContactMessage")%></p>
<p><input type="submit" value="Send Data" /></p>

请不要告诉我,字段名称只是部分识别?

相信我 – 我所做的只是将“联系人”文本添加到对象中的每个字段和表单中的每个字段.它几乎就像MVC混淆了所有以相同的前7个字符开头的字段.

是什么赋予了 ?

任何人都可以对此有所了解吗?

保罗.

解决方法

我目前找不到任何合理的解释,为什么第二个不起作用.但是,如果您将操作签名更改为如下所示:

public ViewResult Index([Bind(Prefix="")]Contact contactMessage)

我想这与DefaultModelBinder有关.

更新:
好的,这开始真的很有趣:

// Not working
public ViewResult Index(Contact contactMessage)

// Not working
public ViewResult Index(Contact contactmessage)

// Working
public ViewResult Index(Contact contact)

// Working
public ViewResult Index(Contact contactMsg)

// Working
public ViewResult Index(Contact abc)

确实很奇怪!

UPDATE2:

好的,我知道了.您的模型中有一个名为ContactMessage的属性,该操作中传递的变量名称也称为contactMessage.这就是模糊性的来源. DefaultModelBinder中没有错误.他不能同时绑定类型为string和Contact的属性,关闭案例:-)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读