2013-07-05 4 views
-1

У меня есть текстовое поле, как показано нижеКак передать значение текстового поля в контроллер

@using (Html.BeginForm("checkUserType", "Place", new {type = })) 
    { 
     <div id="login"> 
      <div class="userNameLabel">UserName</div> 
      <div class="userNameField"><input type="text" id="txtUserName"/><span><input type="button" value="ok" id="ok" /></span></div> 
     </div> 
    } 

Я хочу передать значение текстового поля в мой контроллер. Для этого я использовал код ниже, но это не работает ... Pls помочь ...

метод Действие

[HttpPost] 
     public ActionResult checkUserType(string type) 
     { 
      var elements = from element in db.USERS 
          where element.UserType == type 
          select element; 
      if (elements == null) 
      { 
       return RedirectToAction("Index"); 
      } 
      else 
      { 
       return RedirectToAction("Place/Index"); 
      } 
     } 
+0

Пожалуйста, покажите ваш метод действия, а также, если вы собираетесь на запрос GET, чем ваш код должен быть изменен по крайней мере, как этот 'window.location.href = '@ Url.Action (" checkUserType "," Place ")' + '? type =' + type;' или вроде этого, если параметр 'type' берется из окна маршрута .location.href = '@ Url.Action ("checkUserType", "Place")' + '/' + type; ' – tpeczek

+0

@ tpeczek- Я отредактировал свой код. Надеюсь, вы его увидите. – Niths

+0

Тогда вы должны пойти на 'Form', чтобы получить запрос POST (вы должны посмотреть на ответ @NeerajDubey). – tpeczek

ответ

5

Попробуйте один раз

window.location.href = '@Url.Action("checkUserType", "Place")?type='+type 
0

Try This

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
<h2>Index</h2> 
<% Html.BeginForm("Search", "Employee");%> 
<table> 
    <tr> 
    <td> 
     Name: 
    </td> 
    <td> 
     <input type="text" id="SearchText" name="SearchText" style="width: 325px" /> 
    </td> 
    <td> 
    </td> 
    <td> 
     <input type="submit" id="Search" value="Search" /> 
    </td> 
</tr> 
</table> 
<% Html.EndForm();%> 

Ваше действие похоже на это ...

public ActionResult Search(string searchText) 
{ 
} 

Надеется, что это помогает вам

0

MVC будет сопоставить имена входов параметров вашего метода.

Однако ваш входной ток не указывает имя:

<input type="text" id="txtUserName"/> 

Так добавить, что:

<input type="text" name="type" id="txtUserName"/> 

И это будет карта с параметром. И заберите анонимный объект из BeginForm, поскольку это значение будет предоставлено полем ввода, поэтому не должно быть в действии form.

0

Я просто обновить ваш код попробовать это

@using (Html.BeginForm("checkUserType", "Place")) 
    { 
     <div id="login"> 
      <div class="userNameLabel"> 
       UserName</div> 
      <div class="userNameField"> 
       <input type="text" id="txtUserName" name="UserName" /><span><input type="submit" value="ok" id="ok" /></span></div> 
     </div> 
    } 

и контроллер

public ActionResult checkUserType(string UserName) 
     { 
string _data = UserName; 


     } 
Смежные вопросы