2014-11-10 2 views
-2

У меня есть два текстовых поля на странице и кнопку. теперь, когда пользователь нажимает кнопку, я хочу передать текст, введенный пользователем в методе действий контроллера. это может быть глупо. но я новичок в MVC. PLS скажите мне, как это сделать. Вот код, который я попробовал.ASP.NET MVC: Получить ввод текстового поля в методе действия контроллера

Посмотреть

<input type="text" name="input_domain_id" class="form-control text-center" placeholder="Domain ID" autofocus required> 
      <input type="password" name="input_domain_password" class="form-control text-center" placeholder="Domain Password" required> 
     <div class="col-lg-12"> 
      <p><button class="btn btn-lg btn-success btn-block" type="submit" onclick="location.href='@Url.Action("VerifyLogin", "LdapLoginVerify")'">Login</button></p> 
      </div> 

и В контроллере

public ActionResult VerifyLogin(string input_domain_id, string input_domain_password) 
     { 
    return(view); 
} 

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

+1

Перед тем, как идти дальше , перейдите на сайт MVC и пройдите через учебные пособия, чтобы понять, как работает MVC. –

ответ

2

Для этого вам нужен HTML-код. Лучший способ сделать это состоит в использовании помощника MVC:

@using (Html.BeginForm()) 
{ 
    <input type="text" name="input_domain_id" class="form-control text-center" placeholder="Domain ID" autofocus required> 
    <input type="password" name="input_domain_password" class="form-control text-center" placeholder="Domain Password" required> 
    <div class="col-lg-12"> 
     <p><button class="btn btn-lg btn-success btn-block" type="submit" onclick="location.href='@Url.Action("VerifyLogin", "LdapLoginVerify")'">Login</button></p> 
    </div> 
} 

Вы, скорее всего, будет также хотите убедиться, что у вас есть два действия.

[HttpGet] 
public ActionResult VerifyLogin() 
{ 
    return View(/* optional model with prepopulated data */); 
} 

[HttpPost] 
public ActionResult VerifyLogin(string input_domain_id, string input_domain_password) 
{ 
    // Do stuff with posted values... 

    return View(); 
} 

Вы также должны посмотреть в использовании помощников для вас входов, кнопки и т.д ...

@ Html.EditorFor(), @ Html.PasswqordFor и т.д.

+2

Примечание: 'onclick =" location .... 'необходимо удалить из кнопки отправки –

+0

@StephenMuecke, если я не вызываю метод действия в событии onclick, как будет вызван этот метод действия? – user3132179

+0

Его кнопка отправки, которая автоматически отправляет значения в форме в действие, указанное в параметре 'action'. Все ваше событие' onclick' делает, делает GET-вызов, даже не передавая никаких параметров (так что, конечно, они были пустыми) .Узнайте MVC. Не пытайтесь скопировать html-html-помощники для привязки к свойствам модели. Верните модель, а не отдельные параметры и т. Д. –