Привязка модели ASP.Net MVC, возвращающая нулевые значения - PullRequest
2 голосов
/ 23 апреля 2009

Учитывая следующую разметку:

 <form method="post" action="/home/index">
    Username:
    <%= Html.TextBox("UserName")%>
    Password:
    <%= Html.TextBox("Password")%>
    <input id="login" type="button" value="Login" />
    <input id="Submit1" type="submit" value="submit" />
 </form>

Можете ли вы сказать мне, почему привязка модели не работает при вызове моего действия:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Index(string UserName, string Password)
    {
        //UserName and Password are null!  Why?            
    }

Edit: Значения формы публикуются. Если я проверяю свойство Request.Form, я вижу, что публикуются правильные значения.

? Форма запроса {UserName = SDF & Пароль = SDF} [System.Web.HttpValueCollection]: {Имя пользователя = sdf & Пароль = sdf} base {System.Collections.Specialized.NameObjectCollectionBase}: {UserName = sdf & Password = sdf} AllKeys: {строка [2]}

Ответы [ 5 ]

1 голос
/ 10 марта 2010

У меня была похожая проблема, и оказалось, что это связано с именами полей.

<form method="post" action="/company/update/3">
   Name:
   <%= Html.TextBox("Company.Name")%>
   FEIN:
   <%= Html.TextBox("FEIN")%>

   <input type="submit" value="submit" />
</form>

При публикации на:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(int id, Company company)
{
    //Company.FEIN is null!
}

Это, кажется, происходит, если Company.Name является первым опубликованным значением.

1 голос
/ 22 октября 2009

Вы пытались добавить атрибут Bind к параметрам?

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index([Bind]string UserName, [Bind]string Password)
{
    //UserName and Password are null!  Why?            
}
0 голосов
/ 25 июля 2016

Пожалуйста, добавьте свойство name в свой элемент управления (Html.TextBox ("UserName"))

0 голосов
/ 22 октября 2009

Вы можете попробовать подключить отладчик к источнику MVC при запуске, чтобы посмотреть, что происходит под капотом / капотом.

0 голосов
/ 25 апреля 2009

Стив У меня возникла похожая проблема, и я обнаружил, что это связано с тем, что в моей модели были свойства Key и Value, которые не нравятся связующему модели.

Попробуйте изменить имя пользователя на имя пользователя и пароль для передачи и посмотрите, существует ли проблема по-прежнему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...